Skip to content

Commit

Permalink
Update one of OIDC certificate chain tests to use TenantConfigResolver
Browse files Browse the repository at this point in the history
(cherry picked from commit 194dc40)
  • Loading branch information
sberyozkin authored and gsmet committed Mar 25, 2024
1 parent 3cc810f commit 1e08d98
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,14 @@ public Optional<String> getLeafCertificateName() {
public void setLeafCertificateName(String leafCertificateName) {
this.leafCertificateName = Optional.of(leafCertificateName);
}

public Optional<String> getTrustStorePassword() {
return trustStorePassword;
}

public void setTrustStorePassword(String trustStorePassword) {
this.trustStorePassword = Optional.ofNullable(trustStorePassword);
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ public class CertChainPublicKeyResolver implements RefreshableVerificationKeyRes
final Optional<String> expectedLeafCertificateName;

public CertChainPublicKeyResolver(CertificateChain chain) {
if (chain.trustStorePassword.isEmpty()) {
if (chain.getTrustStorePassword().isEmpty()) {
throw new ConfigurationException(
"Truststore with configured password which keeps thumbprints of the trusted certificates must be present");
}
this.thumbprints = TrustStoreUtils.getTrustedCertificateThumbprints(chain.trustStoreFile.get(),
chain.trustStorePassword.get(), chain.trustStoreCertAlias, chain.getTrustStoreFileType());
chain.getTrustStorePassword().get(), chain.trustStoreCertAlias, chain.getTrustStoreFileType());
this.expectedLeafCertificateName = chain.leafCertificateName;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.quarkus.it.keycloak;

import java.nio.file.Path;
import java.time.Duration;
import java.util.Map;

Expand Down Expand Up @@ -43,6 +44,13 @@ public Uni<OidcTenantConfig> resolve(RoutingContext context,
config.getCodeGrant().setExtraParams(Map.of("extra-param", "extra-param-value"));
config.getAuthentication().setInternalIdTokenLifespan(Duration.ofSeconds(301));
return Uni.createFrom().item(config);
} else if (path.endsWith("bearer-certificate-full-chain-root-only")) {
OidcTenantConfig config = new OidcTenantConfig();
config.setTenantId("bearer-certificate-full-chain-root-only");
config.getCertificateChain().setTrustStoreFile(Path.of("truststore-rootcert.p12"));
config.getCertificateChain().setTrustStorePassword("storepassword");
config.getCertificateChain().setLeafCertificateName("www.quarkustest.com");
return Uni.createFrom().item(config);
}

return Uni.createFrom().nullItem();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,10 +171,6 @@ quarkus.oidc.bearer-no-introspection.token.allow-jwt-introspection=false
quarkus.oidc.bearer-certificate-full-chain.certificate-chain.trust-store-file=truststore.p12
quarkus.oidc.bearer-certificate-full-chain.certificate-chain.trust-store-password=storepassword

quarkus.oidc.bearer-certificate-full-chain-root-only.certificate-chain.trust-store-file=truststore-rootcert.p12
quarkus.oidc.bearer-certificate-full-chain-root-only.certificate-chain.trust-store-password=storepassword
quarkus.oidc.bearer-certificate-full-chain-root-only.certificate-chain.leaf-certificate-name=www.quarkustest.com

quarkus.oidc.bearer-certificate-full-chain-root-only-wrongcname.certificate-chain.trust-store-file=truststore-rootcert.p12
quarkus.oidc.bearer-certificate-full-chain-root-only-wrongcname.certificate-chain.trust-store-password=storepassword
quarkus.oidc.bearer-certificate-full-chain-root-only-wrongcname.certificate-chain.leaf-certificate-name=www.quarkusio.com
Expand Down

0 comments on commit 1e08d98

Please sign in to comment.