aboutsummaryrefslogtreecommitdiffstats
path: root/security-utils
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@vespa.ai>2023-11-23 14:27:44 +0100
committerBjørn Christian Seime <bjorncs@vespa.ai>2023-11-23 14:47:29 +0100
commita7e6903c3b894de22a400956dbfbf2f70983f88e (patch)
tree44ef6b2c7bda33ad325c9c0a26d2b1ea42ca4a5d /security-utils
parentfb17231ed9537ad63d9f47ae76128a09839ba89d (diff)
Add build method returning `X509SslContext`
Diffstat (limited to 'security-utils')
-rw-r--r--security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java b/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java
index 3dafc36b08a..cedad3afc9b 100644
--- a/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java
+++ b/security-utils/src/main/java/com/yahoo/security/SslContextBuilder.java
@@ -129,7 +129,10 @@ public class SslContextBuilder {
return this;
}
- public SSLContext build() {
+ public SSLContext build() { return buildContext().context(); }
+
+ /** @return same {@link #build()} but includes the {@link SSLContext} instance's associated trust/key managers */
+ public X509SslContext buildContext() {
try {
SSLContext sslContext = SSLContext.getInstance(TlsContext.SSL_CONTEXT_VERSION);
X509ExtendedTrustManager trustManager = this.trustManager != null
@@ -139,7 +142,7 @@ public class SslContextBuilder {
? this.keyManager
: keyManagerFactory.createKeyManager(keyStoreSupplier.get(), keyStorePassword);
sslContext.init(new KeyManager[] {keyManager}, new TrustManager[] {trustManager}, null);
- return sslContext;
+ return new X509SslContext(sslContext, trustManager, keyManager);
} catch (GeneralSecurityException e) {
throw new RuntimeException(e);
} catch (IOException e) {