15
15
*/
16
16
package nl .altindag .server .config ;
17
17
18
- import nl .altindag .ssl .SSLFactory ;
19
- import org .apache .tomcat .util .net .SSLContext ;
20
-
21
18
import javax .net .ssl .KeyManager ;
22
19
import javax .net .ssl .SSLEngine ;
23
20
import javax .net .ssl .SSLParameters ;
24
21
import javax .net .ssl .SSLServerSocketFactory ;
25
22
import javax .net .ssl .SSLSessionContext ;
26
23
import javax .net .ssl .TrustManager ;
24
+ import javax .net .ssl .X509KeyManager ;
25
+ import javax .net .ssl .X509TrustManager ;
27
26
import java .security .SecureRandom ;
28
27
import java .security .cert .X509Certificate ;
29
28
30
- public final class TomcatSSLContext implements SSLContext {
29
+ public final class TomcatSSLContext implements org . apache . tomcat . util . net . SSLContext {
31
30
32
- private final SSLFactory sslFactory ;
31
+ private final javax .net .ssl .SSLContext sslContext ;
32
+ private final X509KeyManager keyManager ;
33
+ private final X509TrustManager trustManager ;
33
34
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 ;
36
39
}
37
40
38
41
@ Override
@@ -47,34 +50,32 @@ public void destroy() {
47
50
48
51
@ Override
49
52
public SSLSessionContext getServerSessionContext () {
50
- return sslFactory . getSslContext () .getServerSessionContext ();
53
+ return sslContext .getServerSessionContext ();
51
54
}
52
55
53
56
@ Override
54
57
public SSLEngine createSSLEngine () {
55
- return sslFactory . getSSLEngine ();
58
+ return sslContext . createSSLEngine ();
56
59
}
57
60
58
61
@ Override
59
62
public SSLServerSocketFactory getServerSocketFactory () {
60
- return sslFactory . getSslServerSocketFactory ();
63
+ return sslContext . getServerSocketFactory ();
61
64
}
62
65
63
66
@ Override
64
67
public SSLParameters getSupportedSSLParameters () {
65
- return sslFactory . getSslParameters ();
68
+ return sslContext . getSupportedSSLParameters ();
66
69
}
67
70
68
71
@ Override
69
72
public X509Certificate [] getCertificateChain (String alias ) {
70
- return sslFactory .getKeyManager ()
71
- .map (keyManager -> keyManager .getCertificateChain (alias ))
72
- .orElseThrow ();
73
+ return keyManager .getCertificateChain (alias );
73
74
}
74
75
75
76
@ Override
76
77
public X509Certificate [] getAcceptedIssuers () {
77
- return sslFactory . getTrustedCertificates (). toArray ( new X509Certificate [ 0 ] );
78
+ return trustManager . getAcceptedIssuers ( );
78
79
}
79
80
80
81
}
0 commit comments