Skip to content

Commit bd522d7

Browse files
committed
Explain policyTreeValidator setting better in NEWS and README
1 parent a61bc6c commit bd522d7

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

NEWS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ New features:
2323
predicate function will be used to validate the certificate policy tree after
2424
successful attestation certificate path validation. This may be required for
2525
some JCA providers to accept attestation certificates with critical
26-
certificate policy extensions.
26+
certificate policy extensions. See the JavaDoc for
27+
`TrustRootsResultBuilder.policyTreeValidator(Predicate)` for more information.
2728

2829
Fixes:
2930

README

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,21 @@ The link:webauthn-server-attestation[`webauthn-server-attestation` module]
624624
provides optional additional features for working with attestation.
625625
See the module documentation for more details.
626626

627+
Alternatively, you can use the
628+
link:https://developers.yubico.com/java-webauthn-server/JavaDoc/webauthn-server-core/2.0.0/com/yubico/webauthn/attestation/AttestationTrustSource.html[`AttestationTrustSource`]
629+
interface to implement your own source of attestation root certificates
630+
and set it as the
631+
link:https://developers.yubico.com/java-webauthn-server/JavaDoc/webauthn-server-core/2.0.0/com/yubico/webauthn/RelyingParty.RelyingPartyBuilder.html#attestationTrustSource(com.yubico.webauthn.attestation.AttestationTrustSource)[`attestationTrustSource`]
632+
for your
633+
link:https://developers.yubico.com/java-webauthn-server/JavaDoc/webauthn-server-core/2.0.0/com/yubico/webauthn/RelyingParty.html[`RelyingParty`]
634+
instance.
635+
Note that depending on your JCA provider configuration, you may need to set the
636+
link:https://developers.yubico.com/java-webauthn-server/JavaDoc/webauthn-server-core/2.0.0/com/yubico/webauthn/attestation/AttestationTrustSource.TrustRootsResult.TrustRootsResultBuilder.html#enableRevocationChecking(boolean)[`enableRevocationChecking`]
637+
and/or
638+
link:https://developers.yubico.com/java-webauthn-server/JavaDoc/webauthn-server-core/2.0.0/com/yubico/webauthn/attestation/AttestationTrustSource.TrustRootsResult.TrustRootsResultBuilder.html#policyTreeValidator(java.util.function.Predicate)[`policyTreeValidator`]
639+
settings for compatibility with some authenticators' attestation certificates.
640+
See the JavaDoc for these settings for more information.
641+
627642

628643
== Building
629644

webauthn-server-attestation/src/main/java/com/yubico/fido/metadata/FidoMetadataService.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@
6969
*
7070
* <p>This class implements {@link AttestationTrustSource}, so it can be configured as the {@link
7171
* RelyingPartyBuilder#attestationTrustSource(AttestationTrustSource) attestationTrustSource}
72-
* setting in {@link RelyingParty}.
72+
* setting in {@link RelyingParty}. This implementation always sets {@link
73+
* com.yubico.webauthn.attestation.AttestationTrustSource.TrustRootsResult.TrustRootsResultBuilder#enableRevocationChecking(boolean)
74+
* enableRevocationChecking(false)}, because the FIDO MDS has its own revocation procedures and not
75+
* all attestation certificates provide CRLs; and always sets {@link
76+
* com.yubico.webauthn.attestation.AttestationTrustSource.TrustRootsResult.TrustRootsResultBuilder#policyTreeValidator(Predicate)
77+
* policyTreeValidator} to accept any policy tree, because a Windows Hello attestation certificate
78+
* is known to include a critical certificate policies extension.
7379
*
7480
* <p>The metadata service may be configured with a two stages of filters to select trusted
7581
* authenticators. The first stage is the {@link FidoMetadataServiceBuilder#prefilter(Predicate)

0 commit comments

Comments
 (0)