Skip to content

Commit 3bc2cf1

Browse files
committed
Accept signingCertificate and supportedSignatureAlgorithms only if requestSigningCert configuration is true.
1 parent f7613e5 commit 3bc2cf1

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

example/src/main/java/eu/webeid/example/security/WebEidAuthenticationProvider.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import java.security.cert.X509Certificate;
4444
import java.util.Collections;
4545
import java.util.List;
46-
import java.util.Optional;
4746

4847
/**
4948
* Parses JWT from token string inside AuthTokenDTO and attempts authentication.
@@ -57,10 +56,12 @@ public class WebEidAuthenticationProvider implements AuthenticationProvider {
5756

5857
private final AuthTokenValidator tokenValidator;
5958
private final ChallengeNonceStore challengeNonceStore;
59+
private final boolean requireSigningCert;
6060

6161
public WebEidAuthenticationProvider(AuthTokenValidator tokenValidator, ChallengeNonceStore challengeNonceStore, WebEidMobileProperties webEidMobileProperties) {
6262
this.tokenValidator = tokenValidator;
6363
this.challengeNonceStore = challengeNonceStore;
64+
this.requireSigningCert = webEidMobileProperties.requestSigningCert();
6465
}
6566

6667
@Override
@@ -75,12 +76,12 @@ public Authentication authenticate(Authentication auth) throws AuthenticationExc
7576
try {
7677
final String nonce = challengeNonceStore.getAndRemove().getBase64EncodedNonce();
7778
final X509Certificate userCertificate = tokenValidator.validate(authToken, nonce);
78-
final String signingCertificate = Optional.ofNullable(authToken)
79-
.map(WebEidAuthToken::getUnverifiedSigningCertificate)
80-
.orElse(null);
81-
final List<SupportedSignatureAlgorithm> supportedSignatureAlgorithms = Optional.ofNullable(authToken)
82-
.map(WebEidAuthToken::getSupportedSignatureAlgorithms)
83-
.orElse(null);
79+
final String signingCertificate = requireSigningCert
80+
? authToken.getUnverifiedSigningCertificate()
81+
: null;
82+
final List<SupportedSignatureAlgorithm> supportedSignatureAlgorithms = requireSigningCert
83+
? authToken.getSupportedSignatureAlgorithms()
84+
: null;
8485

8586
return WebEidAuthentication.fromCertificate(userCertificate, signingCertificate, supportedSignatureAlgorithms, authorities);
8687
} catch (AuthTokenException e) {

0 commit comments

Comments
 (0)