Skip to content

Commit 31feb90

Browse files
committed
removed dependency on sslfactory
1 parent 9f9a3cb commit 31feb90

File tree

2 files changed

+23
-16
lines changed

2 files changed

+23
-16
lines changed

instant-ssl-reloading-with-spring-tomcat/src/main/java/nl/altindag/server/config/SSLConnectorCustomizer.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import nl.altindag.ssl.SSLFactory;
1919
import org.apache.catalina.connector.Connector;
2020
import org.apache.coyote.http11.AbstractHttp11Protocol;
21+
import org.apache.tomcat.util.net.SSLContext;
2122
import org.apache.tomcat.util.net.SSLHostConfig;
2223
import org.apache.tomcat.util.net.SSLHostConfigCertificate;
2324
import org.apache.tomcat.util.net.SSLHostConfigCertificate.Type;
@@ -47,7 +48,12 @@ public void customize(Connector connector) {
4748

4849
SSLHostConfig sslHostConfig = new SSLHostConfig();
4950
SSLHostConfigCertificate certificate = new SSLHostConfigCertificate(sslHostConfig, Type.UNDEFINED);
50-
certificate.setSslContext(new TomcatSSLContext(sslFactory));
51+
SSLContext sslContext = new TomcatSSLContext(
52+
sslFactory.getSslContext(),
53+
sslFactory.getKeyManager().orElseThrow(),
54+
sslFactory.getTrustManager().orElseThrow()
55+
);
56+
certificate.setSslContext(sslContext);
5157
sslHostConfig.addCertificate(certificate);
5258
protocol.addSslHostConfig(sslHostConfig);
5359
}

instant-ssl-reloading-with-spring-tomcat/src/main/java/nl/altindag/server/config/TomcatSSLContext.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,27 @@
1515
*/
1616
package nl.altindag.server.config;
1717

18-
import nl.altindag.ssl.SSLFactory;
19-
import org.apache.tomcat.util.net.SSLContext;
20-
2118
import javax.net.ssl.KeyManager;
2219
import javax.net.ssl.SSLEngine;
2320
import javax.net.ssl.SSLParameters;
2421
import javax.net.ssl.SSLServerSocketFactory;
2522
import javax.net.ssl.SSLSessionContext;
2623
import javax.net.ssl.TrustManager;
24+
import javax.net.ssl.X509KeyManager;
25+
import javax.net.ssl.X509TrustManager;
2726
import java.security.SecureRandom;
2827
import java.security.cert.X509Certificate;
2928

30-
public final class TomcatSSLContext implements SSLContext {
29+
public final class TomcatSSLContext implements org.apache.tomcat.util.net.SSLContext {
3130

32-
private final SSLFactory sslFactory;
31+
private final javax.net.ssl.SSLContext sslContext;
32+
private final X509KeyManager keyManager;
33+
private final X509TrustManager trustManager;
3334

34-
public TomcatSSLContext(SSLFactory sslFactory) {
35-
this.sslFactory = sslFactory;
35+
public TomcatSSLContext(javax.net.ssl.SSLContext sslContext, X509KeyManager keyManager, X509TrustManager trustManager) {
36+
this.sslContext = sslContext;
37+
this.keyManager = keyManager;
38+
this.trustManager = trustManager;
3639
}
3740

3841
@Override
@@ -47,34 +50,32 @@ public void destroy() {
4750

4851
@Override
4952
public SSLSessionContext getServerSessionContext() {
50-
return sslFactory.getSslContext().getServerSessionContext();
53+
return sslContext.getServerSessionContext();
5154
}
5255

5356
@Override
5457
public SSLEngine createSSLEngine() {
55-
return sslFactory.getSSLEngine();
58+
return sslContext.createSSLEngine();
5659
}
5760

5861
@Override
5962
public SSLServerSocketFactory getServerSocketFactory() {
60-
return sslFactory.getSslServerSocketFactory();
63+
return sslContext.getServerSocketFactory();
6164
}
6265

6366
@Override
6467
public SSLParameters getSupportedSSLParameters() {
65-
return sslFactory.getSslParameters();
68+
return sslContext.getSupportedSSLParameters();
6669
}
6770

6871
@Override
6972
public X509Certificate[] getCertificateChain(String alias) {
70-
return sslFactory.getKeyManager()
71-
.map(keyManager -> keyManager.getCertificateChain(alias))
72-
.orElseThrow();
73+
return keyManager.getCertificateChain(alias);
7374
}
7475

7576
@Override
7677
public X509Certificate[] getAcceptedIssuers() {
77-
return sslFactory.getTrustedCertificates().toArray(new X509Certificate[0]);
78+
return trustManager.getAcceptedIssuers();
7879
}
7980

8081
}

0 commit comments

Comments
 (0)