Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge develop to master #1325

Merged
merged 220 commits into from
Apr 8, 2024
Merged
Show file tree
Hide file tree
Changes from 118 commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
32062fc
First commit for FIDO2 support
petrdvorak May 17, 2023
189bed9
Map assertion challenge to operations
petrdvorak Jul 12, 2023
59a359f
Fix merge conflict
petrdvorak Aug 16, 2023
6f9054f
Fix merge conflicts
petrdvorak Sep 7, 2023
532abfa
Allow claiming operation by given user ID by accessing the details
petrdvorak Sep 9, 2023
29aa4a5
Merge branch 'develop' into features/fido2
petrdvorak Sep 13, 2023
035002b
Merge branch 'develop' into features/fido2
petrdvorak Sep 26, 2023
dfa3f3e
Cleanup the code
petrdvorak Oct 27, 2023
f722344
Use correct separator for activation code and its signature
romanstrobl Nov 3, 2023
1d3c260
Fix typo
romanstrobl Nov 3, 2023
a3058e6
Fix typo
romanstrobl Nov 7, 2023
56e9973
Fix incorrect activation code parsing
romanstrobl Nov 7, 2023
ba9b41f
Fix error message for checking webauthn method
romanstrobl Nov 8, 2023
87d7629
Fix typo
romanstrobl Nov 8, 2023
8c3d111
Avoid using equalsIgnoreCase for security-related codea
romanstrobl Nov 8, 2023
50618df
Fix typo
romanstrobl Nov 8, 2023
bdf114d
Check flag position within byte
romanstrobl Nov 8, 2023
2069282
Avoid initialization of point with default zero-based byte arrays use…
romanstrobl Nov 8, 2023
0615ce1
Merge branch 'develop' into features/fido2
romanstrobl Nov 8, 2023
d4a16c2
Remove unused dependency
romanstrobl Nov 8, 2023
5353206
Fix imports
romanstrobl Nov 8, 2023
147da01
Fix incorrect split character
petrdvorak Nov 14, 2023
4f6f920
Merge branch 'features/fido2' of https://github.com/wultra/powerauth-…
petrdvorak Nov 14, 2023
287baf7
Fix #1129: Add a new REST client for FIDO2 services
romanstrobl Nov 14, 2023
971c661
Fix issues found in pull request review
romanstrobl Nov 15, 2023
9dcec54
Exclude sensitive parameters from toString, add JavaDoc
romanstrobl Nov 15, 2023
b053613
Fix #1142: FIDO2: Add handling for compressed / uncompressed EC keys
romanstrobl Nov 19, 2023
81d6634
Simplify request model classes
romanstrobl Nov 19, 2023
e7f172a
Add validation annotations
romanstrobl Nov 19, 2023
925e47f
Merge pull request #1131 from wultra/issues/1129-fido2-rest-client
romanstrobl Nov 20, 2023
4eef368
Fix #1152: FIDO2: Invalid timestamp check for operation claim (#1153)
romanstrobl Nov 27, 2023
18cf674
Fix #1140: Implement tests for FIDO2 REST API (#1149)
romanstrobl Nov 27, 2023
cc2b874
Fix #1236: Update Wultra dependencies to SNAPSHOT
banterCZ Jan 5, 2024
880911d
Fix #1195: Set develop version to 1.7.0-SNAPSHOT
banterCZ Jan 5, 2024
df30df4
Merge pull request #1240 from wultra/issues/1195-version-1.7.0-SNAPSHOT
banterCZ Jan 5, 2024
6102689
Merge pull request #1237 from wultra/issues/1236-wultra-dependencies
banterCZ Jan 5, 2024
ea63621
Bump org.springframework.boot:spring-boot-starter-parent
dependabot[bot] Jan 2, 2024
123c5c6
Revert "Fix #1175: Update logback"
banterCZ Jan 2, 2024
c0640eb
Bump spring-cloud-vault version to 4.1.0
banterCZ Jan 5, 2024
1f8e0f6
Merge pull request #1234 from wultra/dependabot/maven/org.springframe…
dependabot[bot] Jan 5, 2024
311ff88
Clean up catching Error class (#1233)
jandusil Jan 8, 2024
559e2a1
Bump nl.jqno.equalsverifier:equalsverifier from 3.15.5 to 3.15.6
dependabot[bot] Jan 15, 2024
c4d844f
Merge pull request #1243 from wultra/dependabot/maven/nl.jqno.equalsv…
dependabot[bot] Jan 15, 2024
2db1e0b
Fix #1245: Warning: Using generated security password
banterCZ Jan 15, 2024
c971c2a
Fix #1244: Upgrade FIDO2 branch to 1.6.x release
romanstrobl Jan 15, 2024
f682996
Move FIDO2 DB migration to 1.7.x
romanstrobl Jan 15, 2024
40ea84a
Merge pull request #1246 from wultra/issues/1245-warn-generated-password
banterCZ Jan 15, 2024
32453c8
Remove duplicate user_id column migration
romanstrobl Jan 15, 2024
723a01a
Update version in path
romanstrobl Jan 15, 2024
763d656
Update liquibase migration script
romanstrobl Jan 15, 2024
e1ae565
Fix #1247: FIDO2: Database migration instructions (#1249)
romanstrobl Jan 16, 2024
1a94809
Merge branch 'features/fido2' into issues/1244-update-fido2-branch
romanstrobl Jan 16, 2024
593b2f6
Merge pull request #1248 from wultra/issues/1244-update-fido2-branch
romanstrobl Jan 16, 2024
a08f88b
Fix #1241: Rethrow original GenericServiceException (#1242)
jnpsk Jan 16, 2024
1dd93c7
Fix #1251: FIDO2: Update OpenAPI documentation (#1252)
romanstrobl Jan 17, 2024
4acec34
Fix #1257: Database initialization using Liquibase fails
banterCZ Jan 17, 2024
29ae02e
Merge pull request #1258 from wultra/issues/1257-liquibase-invalid-ch…
banterCZ Jan 17, 2024
92d7bfa
Fix #1256: Invalid DDL scripts for release 1.6.0
banterCZ Jan 17, 2024
a349521
Merge pull request #1259 from wultra/issues/1256-ddl-scripts
banterCZ Jan 17, 2024
299a6cd
Fix #1253: FIDO2: Improve error handling (#1254)
romanstrobl Jan 18, 2024
b88ec40
Add a test profile for FIDO2 tests
romanstrobl Jan 18, 2024
b685dea
Fix formatting
romanstrobl Jan 18, 2024
b56c5ed
Remove empty line
romanstrobl Jan 18, 2024
e893b80
Remove explicit versions
romanstrobl Jan 18, 2024
59ac804
Merge remote-tracking branch 'origin/features/fido2' into features/fido2
romanstrobl Jan 18, 2024
7cd066e
Switch to project version
romanstrobl Jan 18, 2024
847ef9f
Remove lombok dependency
romanstrobl Jan 18, 2024
550e9bd
Use smaller OpenAPI dependency
romanstrobl Jan 18, 2024
23c0bf2
Remove explicit version
romanstrobl Jan 18, 2024
24e5f81
Merge pull request #1255 from wultra/features/fido2
romanstrobl Jan 18, 2024
82f19a3
Fix #1263: Clean-up FIDO2 pom.xml
banterCZ Jan 18, 2024
7a2feaf
Merge pull request #1264 from wultra/issues/1263-fido2-pom-cleanup
banterCZ Jan 18, 2024
420737c
Fix #1099: Move tests from powerauth-tests to this repo (#1235)
jandusil Jan 19, 2024
70af45c
Bump org.springframework.boot:spring-boot-starter-parent
dependabot[bot] Jan 22, 2024
12e1f29
Bump com.webauthn4j:webauthn4j-test
dependabot[bot] Jan 22, 2024
7c3465c
Merge pull request #1267 from wultra/dependabot/maven/com.webauthn4j-…
dependabot[bot] Jan 22, 2024
9f56fcc
Merge pull request #1266 from wultra/dependabot/maven/org.springframe…
dependabot[bot] Jan 22, 2024
b9b2917
Fix #1265: FIDO2: Improve error handling for converters
romanstrobl Jan 22, 2024
49a483a
Merge pull request #1268 from wultra/issues/1265-improve-error-handling
romanstrobl Jan 23, 2024
5ef2032
Fix #1269: Document offline anti-fraud check
banterCZ Jan 23, 2024
3708c15
Fix #1171: Document requirements on OS entropy for deployment of Powe…
banterCZ Jan 24, 2024
90f371d
Merge pull request #1270 from wultra/issues/1269-doc-offline-anti-fraud
banterCZ Jan 24, 2024
6f0c926
Fix #1262: FIDO2: Write JavaDoc for classes and methods (#1274)
romanstrobl Jan 25, 2024
e8ad760
Fix #1277: FIDO2: Add a protocol check into existing services (#1278)
romanstrobl Jan 26, 2024
b488c0b
Fix #1275: Improve logging of verifyOfflineSignature (#1276)
banterCZ Jan 26, 2024
c3b58dd
Fix #1279: FIDO2: logging
romanstrobl Jan 26, 2024
5759daa
Merge pull request #1280 from wultra/issues/1279-fido2-logging
romanstrobl Jan 27, 2024
92ca4d2
Fix #1281: FIDO2: Add protocol into activation status endpoint response
romanstrobl Jan 28, 2024
787aad0
Fix #1283: FIDO2: Add auditing
romanstrobl Jan 28, 2024
a60615d
Merge pull request #1282 from wultra/issues/1281-add-protocol-response
romanstrobl Jan 29, 2024
1c87af7
Merge pull request #1284 from wultra/issues/1283-fido2-auditing
romanstrobl Jan 29, 2024
b1769e8
Fix #1285: FIDO2: Review provider API (#1286)
romanstrobl Jan 29, 2024
d2f80a0
Fix #1287: Broken implementation guide links on sidebar
banterCZ Jan 30, 2024
90f6cd1
Merge pull request #1288 from wultra/issues/1287-sidebar-links
banterCZ Feb 1, 2024
707ea32
Bump com.google.zxing:core from 3.5.2 to 3.5.3
dependabot[bot] Feb 5, 2024
d738438
Bump com.webauthn4j:webauthn4j-test
dependabot[bot] Feb 5, 2024
591c483
Bump com.google.zxing:javase from 3.5.2 to 3.5.3
dependabot[bot] Feb 5, 2024
9eea5a5
Merge pull request #1293 from wultra/dependabot/maven/com.google.zxin…
dependabot[bot] Feb 5, 2024
b7df8f5
Merge pull request #1292 from wultra/dependabot/maven/com.webauthn4j-…
dependabot[bot] Feb 5, 2024
98adda8
Merge pull request #1291 from wultra/dependabot/maven/com.google.zxin…
dependabot[bot] Feb 5, 2024
579f211
Fix #1294: Extract zxing version to the maven property
banterCZ Feb 5, 2024
f0b20e5
Merge pull request #1295 from wultra/issues/1294-zxing-version
banterCZ Feb 5, 2024
a2b0e01
Fix #1290: FIDO2: Show activation protocol in PowerAuth Admin
romanstrobl Feb 5, 2024
1dee4dd
Merge pull request #1296 from wultra/issues/1290-admin-protocol
romanstrobl Feb 6, 2024
c4e0ec2
Fix #1272: Add TraceID/SpanID to Monitoring for Enhanced Observabilit…
jandusil Feb 6, 2024
10ecf62
Fix #1297: Remove spring.datasource.driverClassName from app props (#…
jandusil Feb 6, 2024
50ade67
Fix #1300: Handle explicit null JSON value in final fields
banterCZ Feb 8, 2024
d754b6c
Merge pull request #1301 from wultra/issues/1300-jackson-null
banterCZ Feb 9, 2024
bdba08c
Bump net.javacrumbs.shedlock:shedlock-bom from 5.10.2 to 5.11.0
dependabot[bot] Feb 19, 2024
95b3325
Merge pull request #1303 from wultra/dependabot/maven/net.javacrumbs.…
dependabot[bot] Feb 19, 2024
845400a
Fix #1304: FIDO2: Use templateName instead of operationType parameter…
romanstrobl Feb 19, 2024
afeda68
Fix #1306: Failing tests when Tomcat is running on port 8080 (#1307)
banterCZ Feb 21, 2024
163a0aa
Fix #1299: FIDO2: Check AAGUID during registration (#1302)
romanstrobl Feb 21, 2024
a9bec02
Fix #1311: FIDO2: Improve format of extras stored for FIDO2
romanstrobl Feb 21, 2024
3cd088e
Fix #1312: FIDO2: Add additionalData for FIDO2 operations
romanstrobl Feb 21, 2024
e3971c6
Fix #1322: Update Wultra dependencies
banterCZ Feb 22, 2024
e0779cd
Fix #1320: Set release version to 1.7.0
banterCZ Feb 22, 2024
8b8442a
Fix #1308: Operation list fails on Oracle (#1317)
banterCZ Feb 22, 2024
27792c3
Fix #1330: Add liquibase tag 1.7.0
banterCZ Feb 22, 2024
0c1506c
Merge pull request #1331 from wultra/issues/1330-liquibase-tag
banterCZ Feb 22, 2024
38ea2d1
Bump org.springframework.boot:spring-boot-starter-parent
dependabot[bot] Feb 23, 2024
f9b831f
Merge pull request #1335 from wultra/dependabot/maven/org.springframe…
dependabot[bot] Feb 23, 2024
403ccd9
Fix #1337: Missing NOT NULL constraint in migration guide
romanstrobl Feb 23, 2024
c1089cb
Merge pull request #1338 from wultra/issues/1337-missing-not-null
romanstrobl Feb 23, 2024
7a88f32
Merge pull request #1316 from wultra/issues/1311-fido2-extras
romanstrobl Feb 23, 2024
6552a55
Merge pull request #1319 from wultra/issues/1312-additonal-data
romanstrobl Feb 23, 2024
ce86fcf
Bump nl.jqno.equalsverifier:equalsverifier from 3.15.6 to 3.15.7
dependabot[bot] Feb 26, 2024
177fb74
Merge pull request #1339 from wultra/dependabot/maven/nl.jqno.equalsv…
dependabot[bot] Feb 26, 2024
a0f632f
Fix #1341: Coverity: Useless call
banterCZ Feb 26, 2024
9782d54
Fix #1343: Coverity: Dereference null return value
banterCZ Feb 26, 2024
a5e8dba
Fix #1345: Coverity: Reliance on default encoding
banterCZ Feb 26, 2024
776d17d
Fix #1349: Coverity: Unlogged security exception
banterCZ Feb 26, 2024
6564091
Merge pull request #1342 from wultra/issues/1341-coverity-useless-call
banterCZ Feb 26, 2024
18971f4
Merge pull request #1344 from wultra/issues/1343-coverity-npe
banterCZ Feb 26, 2024
11b9ff1
Merge pull request #1346 from wultra/issues/1345-coverity-encoding
banterCZ Feb 26, 2024
e4bf223
Merge pull request #1350 from wultra/issues/1349-log-security-exception
banterCZ Feb 26, 2024
03d8f53
Fix #1347: Make AaguidList#vendors immutable (#1348)
banterCZ Feb 26, 2024
3df009f
Fix #1351: Coverity: Useless call
banterCZ Feb 26, 2024
26a2f03
Merge pull request #1352 from wultra/issues/1351-coverity-useless-call
banterCZ Feb 26, 2024
05d0874
Fix column name pa_application_config.config_key in db scripts
banterCZ Feb 26, 2024
2c8699d
Merge pull request #1353 from wultra/issues/1299-fix-db-script
banterCZ Feb 27, 2024
8018c54
Fix #1310: FIDO2: Persist and check counter value
romanstrobl Feb 27, 2024
d7a5209
Handle different cases for activations found by external ID
romanstrobl Feb 27, 2024
71d4cbb
Merge pull request #1354 from wultra/issues/1310-fido2-check-counter
romanstrobl Feb 28, 2024
c509e3c
Merge pull request #1323 from wultra/issues/1322-wultra-dependencies
banterCZ Feb 28, 2024
9af222e
Fix #1289: FIDO2: Do not allow duplicate registration of same authent…
romanstrobl Feb 28, 2024
8079e11
Merge pull request #1359 from wultra/issues/1289-check-duplicate-regi…
romanstrobl Feb 28, 2024
30e1e19
Bump nl.jqno.equalsverifier:equalsverifier from 3.15.7 to 3.15.8
dependabot[bot] Mar 4, 2024
42c6ce8
Bump net.javacrumbs.shedlock:shedlock-bom from 5.11.0 to 5.12.0
dependabot[bot] Mar 4, 2024
987f282
Bump com.webauthn4j:webauthn4j-test
dependabot[bot] Mar 4, 2024
11e2746
Merge pull request #1365 from wultra/dependabot/maven/com.webauthn4j-…
dependabot[bot] Mar 4, 2024
01a9585
Merge pull request #1364 from wultra/dependabot/maven/net.javacrumbs.…
dependabot[bot] Mar 4, 2024
9581fee
Merge pull request #1363 from wultra/dependabot/maven/nl.jqno.equalsv…
dependabot[bot] Mar 4, 2024
a018e5b
Fix #1366: testUpdateActivation_badRequest fails for a non-English lo…
banterCZ Mar 4, 2024
e5eb8a0
Fix #1368: Modify datatype of pa_activation.extras (#1369)
jandusil Mar 4, 2024
6da2b4f
Fix #1372: Log a successfull callback call as an info
petrdvorak Mar 4, 2024
8863190
Fix #1314: FIDO2: Add new signature types (#1356)
petrdvorak Mar 4, 2024
e9c9213
Merge pull request #1367 from wultra/issues/1366-english-locale-test
banterCZ Mar 5, 2024
f7beef5
Fix #1376: Liquibase on MSSQL throws error (#1377)
banterCZ Mar 5, 2024
1e6b954
Fix #1370: Update arch_db_structure diagram
banterCZ Mar 5, 2024
f6248d7
Fix #1368: Modify datatype of pa_activation.extras (#1371)
jandusil Mar 5, 2024
c33f427
Fix #1376: Liquibase on MSSQL throws error do not fail on error
zcgandcomp Mar 5, 2024
8aac578
Merge pull request #1379 from wultra/issues/1376-update-lb-script-mssql
zcgandcomp Mar 5, 2024
5d060d8
Merge pull request #1378 from wultra/issues/1370-db-diagram
banterCZ Mar 6, 2024
fc153e2
Update GitHub Actions to checkout@v4 and setup-java@v4
banterCZ Mar 6, 2024
04111b6
Merge pull request #1381 from wultra/issues/gha-update
banterCZ Mar 6, 2024
4bdd0b5
Merge pull request #1373 from wultra/issues/1372-callback-logging
banterCZ Mar 6, 2024
2fba264
Update GitHub Actions to JDK 21 (#1380)
banterCZ Mar 6, 2024
c30195e
Fix #1386: FIDO2: Parameter externalId from AssertionChallengeRequest…
romanstrobl Mar 7, 2024
208178d
Fix #1388: FIDO2: Reversed order of parameters in findByCredentialId
romanstrobl Mar 7, 2024
8e91185
Merge pull request #1387 from wultra/issues/1386-external-id-ignored
romanstrobl Mar 7, 2024
8e71503
Merge pull request #1389 from wultra/issues/1388-parameters-reversed-…
romanstrobl Mar 7, 2024
41e5750
Fix #1391: FIDO2: Names refactoring (#1395)
romanstrobl Mar 14, 2024
5a1cf8b
FIDO2: Basic Attestation (#1394)
romanstrobl Mar 15, 2024
8fac2a9
Bump org.springdoc:springdoc-openapi-starter-webmvc-ui
dependabot[bot] Mar 18, 2024
95ddfb9
Fix #1402: FIDO2: Handle nullability in REST API requests for initial…
romanstrobl Mar 18, 2024
e523f47
Fix #1404: FIDO2: REST API request / response class cleanup (#1405)
romanstrobl Mar 18, 2024
69a1255
Fix #1400: Document new FIDO2 APIs (#1403)
petrdvorak Mar 18, 2024
87a45a8
Fix #1374: Personalized FIDO2 assertion challenge (#1392)
petrdvorak Mar 18, 2024
3d9f910
Merge pull request #1401 from wultra/dependabot/maven/org.springdoc-s…
dependabot[bot] Mar 18, 2024
755f0bb
Refactor resolveEcPoint to switch expression
banterCZ Mar 18, 2024
b00a1cc
Fix #1407: Reflect fido2 changes in client model (#1409)
jnpsk Mar 18, 2024
d072138
Merge pull request #1408 from wultra/issues/1394-improve-switch
banterCZ Mar 18, 2024
03a8e1c
Fix #1393: FIDO2: externalize authenticator configuration (#1396)
jnpsk Mar 18, 2024
8ab1817
Fix #1410: Swagger not shown correctly (#1411)
jnpsk Mar 18, 2024
84e7ebc
Fix #1413: FIDO2: Unify AAGUID format (#1416)
romanstrobl Mar 19, 2024
3620c1f
Fix #1417: FIDO2: Invalid AAGUID format in configuration of fido2_aag…
romanstrobl Mar 19, 2024
3079314
Fix #1414: FIDO2: Default authenticator models (#1415)
jnpsk Mar 22, 2024
bda8601
Bump nl.jqno.equalsverifier:equalsverifier from 3.15.8 to 3.16
dependabot[bot] Mar 25, 2024
2460c0e
Bump io.swagger.core.v3:swagger-annotations-jakarta
dependabot[bot] Mar 25, 2024
bf76e0b
Bump org.springframework.boot:spring-boot-starter-parent
dependabot[bot] Mar 25, 2024
c9d9608
Merge pull request #1422 from wultra/dependabot/maven/io.swagger.core…
dependabot[bot] Mar 25, 2024
bc7040c
Merge pull request #1421 from wultra/dependabot/maven/nl.jqno.equalsv…
dependabot[bot] Mar 25, 2024
6f48d5d
Merge pull request #1424 from wultra/dependabot/maven/org.springframe…
dependabot[bot] Mar 25, 2024
54b30d6
Fix #1419: Implement optional proprietary signing extension to accoun…
petrdvorak Mar 25, 2024
1cfb752
Fix #1425: FIDO2: Return operation data in a separate allowCredential…
petrdvorak Mar 25, 2024
0da5526
Fix #1425: FIDO2: Return operation data in a separate allowCredential…
jnpsk Mar 26, 2024
eec4159
Revert "Fix #1425: FIDO2: Return operation data in a separate allowCr…
jnpsk Mar 26, 2024
500d966
Downgrade java version for coverity scan GitHub Action
banterCZ Mar 27, 2024
02a9ced
Merge pull request #1429 from wultra/issues/gha-coverity
banterCZ Mar 27, 2024
a5babd8
Fix #1434: Return ERROR_NOT_FOUND code instead of white label error page
banterCZ Mar 27, 2024
4e6327b
Fix #1430: Coverity: Unread field should be static (#1432)
banterCZ Mar 28, 2024
2fde1bf
Fix #1436: FIDO test app Opera browser - authenticatorAttachment erro…
jnpsk Mar 28, 2024
d526132
Fix #1442: Remove Base64ToByteArrayDeserializer
banterCZ Mar 28, 2024
598c68c
Merge pull request #1443 from wultra/issues/1442-remove-Base64ToByteA…
banterCZ Mar 28, 2024
fbdc11b
Fix #1440: Add unit test for AssertionChallengeConverter (#1441)
jnpsk Mar 28, 2024
1872ed1
Bump org.springframework.cloud:spring-cloud-starter-vault-config
dependabot[bot] Apr 1, 2024
f198d1d
Merge pull request #1435 from wultra/issues/1434-not-found-code
banterCZ Apr 2, 2024
c5a1eb1
Merge pull request #1445 from wultra/dependabot/maven/org.springframe…
dependabot[bot] Apr 2, 2024
5110311
Bump com.webauthn4j:webauthn4j-test
dependabot[bot] Apr 2, 2024
9065523
Bump org.springdoc:springdoc-openapi-starter-webmvc-ui
dependabot[bot] Apr 2, 2024
97df176
Merge pull request #1446 from wultra/dependabot/maven/com.webauthn4j-…
dependabot[bot] Apr 2, 2024
7ffa576
Merge pull request #1447 from wultra/dependabot/maven/org.springdoc-s…
dependabot[bot] Apr 2, 2024
6d39cba
Fix #1412: Add missing configuration properties (#1448)
jnpsk Apr 5, 2024
5f76068
Fix #1397: Return structured device info in the operation detail resp…
jandusil Apr 5, 2024
754a87d
Bump net.javacrumbs.shedlock:shedlock-bom from 5.12.0 to 5.13.0
dependabot[bot] Apr 8, 2024
4b7a3f7
Bump nl.jqno.equalsverifier:equalsverifier from 3.16 to 3.16.1
dependabot[bot] Apr 8, 2024
4f52d31
Merge pull request #1451 from wultra/dependabot/maven/nl.jqno.equalsv…
dependabot[bot] Apr 8, 2024
bcef388
Merge pull request #1450 from wultra/dependabot/maven/net.javacrumbs.…
dependabot[bot] Apr 8, 2024
f741868
Merge pull request #1324 from wultra/issues/1320-version-1.7.0
banterCZ Apr 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/Configuration-Properties.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ The PowerAuth Server uses the following public configuration properties:
| `spring.datasource.url` | `jdbc:postgresql://localhost:5432/powerauth` | Database JDBC URL |
| `spring.datasource.username` | `powerauth` | Database JDBC username |
| `spring.datasource.password` | `_empty_` | Database JDBC password |
| `spring.datasource.driver-class-name` | `org.postgresql.Driver` | Datasource JDBC class name |
| `spring.jpa.hibernate.ddl-auto` | `none` | Configuration of automatic database schema creation |
| `spring.jpa.properties.hibernate.connection.characterEncoding` | `utf8` | Character encoding |
| `spring.jpa.properties.hibernate.connection.useUnicode` | `true` | Character encoding - Unicode support |
Expand Down Expand Up @@ -71,6 +70,9 @@ The PowerAuth Server uses the following public configuration properties:


## Monitoring and Observability
| Property | Default | Note |
|-------------------------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `management.tracing.sampling.probability` | `1.0` | Specifies the proportion of requests that are sampled for tracing. A value of 1.0 means that 100% of requests are sampled, while a value of 0 effectively disables tracing. |

The WAR file includes the `micrometer-registry-prometheus` dependency.
Discuss its configuration with the [Spring Boot documentation](https://docs.spring.io/spring-boot/docs/3.1.x/reference/html/actuator.html#actuator.metrics).
33 changes: 28 additions & 5 deletions docs/Database-Structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,7 @@ You can download DDL scripts for supported databases:

- [Oracle - Create Database Schema](./sql/oracle/create_schema.sql)
- [PostgreSQL - Create Database Schema](./sql/postgresql/create_schema.sql)

The drop scripts are available for supported databases:

- [Oracle - Drop Tables and Sequences](./sql/oracle/delete_schema.sql)
- [PostgreSQL - Drop Tables and Sequences](./sql/postgresql/delete_schema.sql)
- [MS SQL - Create Database Schema](./sql/mssql/create_schema.sql)

See the overall database schema:

Expand Down Expand Up @@ -90,6 +86,33 @@ CREATE TABLE pa_application_version
| supported | INT(11) | - | Flag indicating if this version is supported or not (0 = not supported, 1..N = supported) |
<!-- end -->

<!-- begin database table pa_application_config -->
### Application Configuration Table

Stores configurations for the applications stored in `pa_application` table.

#### Schema

```sql
CREATE TABLE pa_application_config
(
id INTEGER NOT NULL PRIMARY KEY,
application_id INTEGER NOT NULL,
config_key VARCHAR(255),
config_values TEXT
);
```

#### Columns

| Name | Type | Info | Note |
|------|------|---------|-----------------------------------------------------------------------------------------------------------------------------------------|
| id | BIGINT(20) | primary key, autoincrement | Unique application configuration identifier. |
| application_id | BIGINT(20) | foreign key: pa\_application.id | Related application ID. |
| config_key | VARCHAR(255) | index | Configuration key names such as `fido2_attestation_fmt_allowed` and `fido2_aaguids_allowed`. |
| config_values | TEXT | - | Configuration values serialized in JSON format. |
<!-- end -->

<!-- begin database table pa_activation -->
### Activations Table

Expand Down
6 changes: 0 additions & 6 deletions docs/Deploying-PowerAuth-Server.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ The default database connectivity parameters in `powerauth-java-server.war` are
spring.datasource.url=jdbc:postgresql://localhost:5432/powerauth
spring.datasource.username=powerauth
spring.datasource.password=
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.connection.characterEncoding=utf8
spring.jpa.properties.hibernate.connection.useUnicode=true
Expand All @@ -57,7 +56,6 @@ For Oracle database use following connectivity parameters (example):
spring.datasource.url=jdbc:oracle:thin:@//[HOST]:[PORT]/[SERVICENAME]
spring.datasource.username=powerauth
spring.datasource.password=*********
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.jpa.hibernate.ddl-auto=none
```

Expand All @@ -68,7 +66,6 @@ For PostgreSQL use following connectivity parameters (example):
spring.datasource.url=jdbc:postgresql://[HOST]:[PORT]/[DATABASE]
spring.datasource.username=powerauth
spring.datasource.password=*********
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.hibernate.ddl-auto=none
```

Expand Down Expand Up @@ -136,7 +133,6 @@ You can specify the individual properties directly in the server configuration.
<Parameter name="spring.datasource.url" value="jdbc:postgresql://localhost:5432"/>
<Parameter name="spring.datasource.username" value="powerauth"/>
<Parameter name="spring.datasource.password" value=""/>
<Parameter name="spring.datasource.driver-class-name" value="org.postgresql.Driver"/>
</Context>
```

Expand All @@ -157,7 +153,6 @@ To match the previous example, the contents of `/path/to/come/custom.properties`
spring.datasource.url=jdbc:postgresql://localhost:5432/powerauth
spring.datasource.username=powerauth
spring.datasource.password=
spring.datasource.driver-class-name=org.postgresql.Driver
```

## Generating Your First Application
Expand Down Expand Up @@ -234,7 +229,6 @@ Some application servers, such as **WildFly** by JBoss, are very restrictive in
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=
spring.jpa.database-platform=
spring.jpa.hibernate.ddl-auto=none
spring.datasource.jndi-name=java:/jdbc/powerauth
Expand Down
1 change: 0 additions & 1 deletion docs/Deploying-Wildfly.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ The `application-ext.properties` file is used to override default configuration
spring.datasource.url=jdbc:oracle:thin:@//[host]:[port]/[servicename]
spring.datasource.username=powerauth
spring.datasource.password=powerauth
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

# Application Service Configuration
powerauth.service.applicationEnvironment=TEST
Expand Down
1 change: 1 addition & 0 deletions docs/Migration-Instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ This page contains PowerAuth Server migration instructions.
When updating across multiple versions, you need to perform all migration steps additively.
<!-- end -->

- [PowerAuth Server 1.7.0](./PowerAuth-Server-1.7.0.md)
- [PowerAuth Server 1.6.0](./PowerAuth-Server-1.6.0.md)
- [PowerAuth Server 1.5.0](./PowerAuth-Server-1.5.0.md)
- [PowerAuth Server 1.4.0](./PowerAuth-Server-1.4.0.md)
Expand Down
9 changes: 9 additions & 0 deletions docs/Offline-Signatures.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@ For Web Flow the format of request `data` is documented in the [Offline Signatur

The `offlineData` in response already contains all data required to display a QR code. The validity of the QR code should be verified by computing the ECDSA signature of `offlineData` content before the computed signature and comparing it with the `ECDSA_SIGNATURE` in `offlineData`. The `nonce` in response will be required during offline signature verification step.


### Proximity anti-fraud check

If you want to use the proximity anti-fraud feature in offline mode, you have to specify `nonce`, `proximityCheck.seed`, and `proximityCheck.stepLength` in `CreatePersonalizedOfflineSignaturePayloadRequest`.
In that case, `CreatePersonalizedOfflineSignaturePayloadResponse#offlineData` contains `CreatePersonalizedOfflineSignaturePayloadRequest#data` plus a generated TOTP.
The structure is following `{DATA})\n{TOTP}\n{NONCE}\n{KEY_SERVER_PRIVATE_INDICATOR}{ECDSA_SIGNATURE}`.
This value is transparent for you and is handled by Mobile SDK.


## Generating non-personalized offline signature payload

Non-personalized offline signatures are used when activation ID is not known. A typical use case is offline verification for login operation.
Expand Down
33 changes: 33 additions & 0 deletions docs/PowerAuth-Server-1.7.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Migration from 1.6.x to 1.7.0

This guide contains instructions for migration from PowerAuth Server version `1.6.x` to version `1.7.0`.

## Database Changes

For convenience you can use liquibase for your database migration.

For manual changes use SQL scripts:

- [PostgreSQL script](./sql/postgresql/migration_1.6.0_1.7.0.sql)
- [Oracle script](./sql/oracle/migration_1.6.0_1.7.0.sql)
- [MSSQL script](./sql/mssql/migration_1.6.0_1.7.0.sql)

### Updated DB Schema for FIDO2 Support

Following columns have been added to table `pa_activation` for FIDO2 support:
- `external_id` - external identifier of the activation
- `protocol` - protocol enumeration: `powerauth` or `fido2`

The data type for column `extras` in table `pa_activation` was changed to `TEXT` / `CLOB` to support larger data.

### New Database Table for Application Configuration

A new database table `pa_application_config` has been added:
- `id` - application configuration row identifier
- `application_id` - application identifier
- `config_key` - configuration key
- `config_values` - list of configuration values

Following parameters can be configured:
- `fido2_attestation_fmt_allowed` - allowed attestation formats for FIDO2 registrations, unset value means all attestation formats are allowed
- `fido2_aaguids_allowed` - allowed AAGUIDs for FIDO2 registration, unset value means all AAGUIDs are allowed
19 changes: 19 additions & 0 deletions docs/System-Requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,22 @@ You need following software versions:
Deployment is described in a separate documentation:

- [Docker Images for PowerAuth](https://github.com/wultra/powerauth-docker)


## Entropy

The PowerAuth stack requires significant amount of entropy because of random number generators (RNG) used for cryptography.
When not enough entropy is available, the whole system may dramatically slow down or even get stuck.
That may happen especially in virtualized environment.

For Linux Kernel lower than 5.4, the minimal required entropy is 256, ideally more than 1024.
For Linux Kernel 5.4 and higher: the minimal required entropy is 256 (it does not report more anyway).

Command to get available entropy bits:

```shell
cat /proc/sys/kernel/random/entropy_avail
```

We recommend using Linux Kernel 5.4 and newer, where `/dev/random` does not block anymore.
If you must run an older version, consider another source of entropy such as [haveged](https://github.com/jirka-h/haveged).
81 changes: 80 additions & 1 deletion docs/WebServices-Methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ The following `v3` methods are published using the service:
- [createApplicationVersion](#method-createapplicationversion)
- [unsupportApplicationVersion](#method-unsupportapplicationversion)
- [supportApplicationVersion](#method-supportapplicationversion)
- [getApplicationConfig](#method-getapplicationconfig)
- [createApplicationConfig](#method-createapplicationconfig)
- [removeApplicationConfig](#method-removeapplicationconfig)
- Activation Management
- [getActivationListForUser](#method-getactivationlistforuser)
- [initActivation](#method-initactivation)
Expand Down Expand Up @@ -343,6 +346,82 @@ REST endpoint: `POST /rest/v3/application/version/support`
| `String` | `applicationVersionId` | An identifier of an application version |
| `Boolean` | `supported` | Flag indicating if this application is supported |

### Method 'getApplicationConfig'

Get application configuration detail.

#### Request

REST endpoint: `POST /rest/v3/application/config/detail`

`GetApplicationConfigRequest`

| Type | Name | Description |
|----------|------|-------------|
| `String` | `applicationId` | An identifier of an application |

#### Response

`GetApplicationConfigResponse`

| Type | Name | Description |
|-----------|------|-------------|
| `String` | `applicationId` | An identifier of an application |
| `List<ApplicationConfigurationItem>` | `applicationConfigs` | List of application configurations |

The `ApplicationConfigurationItem` record contains following parameters:
- `String key` - configuration key name
- `List<String> values` - configuration values

### Method 'createApplicationConfig'

Create application configuration.

#### Request

REST endpoint: `POST /rest/v3/application/config/create`

`CreateApplicationConfigRequest`

| Type | Name | Description |
|----------|------|-------------|
| `String` | `applicationId` | An identifier of an application |
| `String` | `key` | Application configuration key name |
| `List<String>` | `values` | Application configuration values |

Following configuration keys are accepted:
- `fido2_attestation_fmt_allowed` - allowed attestation formats for FIDO2 registrations, unset value means all attestation formats are allowed
- `fido2_aaguids_allowed` - allowed AAGUIDs for FIDO2 registration, unset value means all AAGUIDs are allowed

#### Response

`CreateApplicationConfigResponse`

| Type | Name | Description |
|----------|------|-------------|
| `String` | `applicationId` | An identifier of an application |
| `String` | `key` | Application configuration key name |
| `List<String>` | `values` | Application configuration values |

### Method 'removeApplicationConfig'

Delete an application configuration.

#### Request

REST endpoint: `POST /rest/v3/application/config/remove`

`RemoveApplicationConfigRequest`

| Type | Name | Description |
|----------|------|-------------|
| `String` | `applicationId` | An identifier of an application |
| `String` | `key` | Application configuration key name |

#### Response

_empty response_

## Activation management

Methods related to activation management.
Expand Down Expand Up @@ -885,7 +964,7 @@ REST endpoint: `POST /rest/v3/signature/offline/personalized/create`
|-----------|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `String` | `activationId` | An identifier of an activation |
| `String` | `data` | Data for the signature, for normalized value see the [Offline Signatures QR code](https://github.com/wultra/powerauth-webflow/blob/develop/docs/Off-line-Signatures-QR-Code.md) documentation |
| `String` | `nonce` | Optional nonce, otherwise it will be generated by PowerAuth server. Needed to be set when proximity check is enabled. |
| `String` | `nonce` | Optional nonce (16 bytes base64 encoded into 24 characters), otherwise it will be generated by PowerAuth server. Needed to be set when proximity check is enabled. |
| `Object` | `proximityCheck` | Optional parameters for proximity TOTP. |
| `String` | `proximityCheck.seed` | Seed for TOTP, base64 encoded. |
| `Integer` | `proximityCheck.stepLength` | Length of the TOTP step in seconds. |
Expand Down
4 changes: 2 additions & 2 deletions docs/_Sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@

**Implementation Tutorials**

- [Authentication in Mobile Banking Apps (SCA)](https://developers.wultra.com/products/mobile-security-suite/develop/tutorials/Authentication-in-Mobile-Apps)
- [Verifying PowerAuth Signatures On The Server](https://developers.wultra.com/products/mobile-security-suite/develop/tutorials/Manual-Signature-Verification)
- [Mobile-First Authentication in Banking (SCA)](https://developers.wultra.com/tutorials/posts/Mobile-First-Authentication/)
- [Verifying PowerAuth Signatures On The Server](https://developers.wultra.com/tutorials/posts/Manual-Signature-Verification/)

**Reference Manual**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -557,23 +557,6 @@
</createTable>
</changeSet>

<changeSet id="25" logicalFilePath="powerauth-java-server/1.4.x/20230322-init-db.xml" author="Lubos Racansky">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="pa_operation_application"/>
</not>
</preConditions>
<comment>Create a new table pa_operation_application</comment>
<createTable tableName="pa_operation_application">
<column name="application_id" type="bigint">
<constraints primaryKey="true" />
</column>
<column name="operation_id" type="varchar(255)">
<constraints primaryKey="true" />
</column>
</createTable>
</changeSet>

<changeSet id="26" logicalFilePath="powerauth-java-server/1.4.x/20230322-init-db.xml" author="Lubos Racansky">
<preConditions onFail="MARK_RAN">
<not>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ PowerAuth Server and related software components
~ Copyright (C) 2024 Wultra s.r.o.
~
~ This program is free software: you can redistribute it and/or modify
~ it under the terms of the GNU Affero General Public License as published
~ by the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU Affero General Public License for more details.
~
~ You should have received a copy of the GNU Affero General Public License
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.9.xsd">

<changeSet id="1" logicalFilePath="powerauth-java-server/1.7.x/20240115-add-columns-fido2" author="Roman Strobl">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="pa_activation" columnName="external_id"/>
</not>
</preConditions>
<comment>Add external_id column</comment>
<addColumn tableName="pa_activation">
<column name="external_id" type="varchar(255)" />
</addColumn>
</changeSet>

<changeSet id="2" logicalFilePath="powerauth-java-server/1.7.x/20240115-add-columns-fido2" author="Roman Strobl">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="pa_activation" columnName="protocol"/>
</not>
</preConditions>
<comment>Add protocol column</comment>
<addColumn tableName="pa_activation">
<column name="protocol" type="varchar(32)" defaultValue="powerauth" />
</addColumn>
</changeSet>

<changeSet id="3" logicalFilePath="powerauth-java-server/1.7.x/20240115-add-columns-fido2" author="Roman Strobl">
<modifyDataType tableName="pa_activation" columnName="extras" newDataType="TEXT"/>
</changeSet>

</databaseChangeLog>
Loading
Loading