1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.handler.ssl;
17
18 import io.netty.buffer.ByteBufAllocator;
19
20 import java.security.cert.Certificate;
21 import java.util.List;
22 import java.util.Map;
23
24 import javax.net.ssl.SNIServerName;
25 import javax.net.ssl.SSLEngine;
26 import javax.net.ssl.SSLException;
27
28
29
30
31
32 public abstract class OpenSslContext extends ReferenceCountedOpenSslContext {
33 OpenSslContext(Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apnCfg,
34 int mode, Certificate[] keyCertChain,
35 ClientAuth clientAuth, String[] protocols, boolean startTls, String endpointIdentificationAlgorithm,
36 boolean enableOcsp, List<SNIServerName> serverNames, ResumptionController resumptionController,
37 Map.Entry<SslContextOption<?>, Object>[] options,
38 List<OpenSslCredential> credentials)
39 throws SSLException {
40 super(ciphers, cipherFilter, toNegotiator(apnCfg), mode, keyCertChain,
41 clientAuth, protocols, startTls, endpointIdentificationAlgorithm, enableOcsp, false,
42 serverNames, resumptionController, options, credentials);
43 }
44
45 OpenSslContext(Iterable<String> ciphers, CipherSuiteFilter cipherFilter, OpenSslApplicationProtocolNegotiator apn,
46 int mode, Certificate[] keyCertChain,
47 ClientAuth clientAuth, String[] protocols, boolean startTls, boolean enableOcsp,
48 List<SNIServerName> serverNames, ResumptionController resumptionController,
49 Map.Entry<SslContextOption<?>, Object>[] options,
50 List<OpenSslCredential> credentials)
51 throws SSLException {
52 super(ciphers, cipherFilter, apn, mode, keyCertChain,
53 clientAuth, protocols, startTls, null, enableOcsp, false, serverNames, resumptionController, options,
54 credentials);
55 }
56
57 @Override
58 final SSLEngine newEngine0(ByteBufAllocator alloc, String peerHost, int peerPort, boolean jdkCompatibilityMode) {
59 return new OpenSslEngine(this, alloc, peerHost, peerPort, jdkCompatibilityMode,
60 endpointIdentificationAlgorithm, serverNames);
61 }
62
63 @Override
64 @SuppressWarnings("FinalizeDeclaration")
65 protected final void finalize() throws Throwable {
66 try {
67 OpenSsl.releaseIfNeeded(this);
68 } finally {
69 super.finalize();
70 }
71 }
72 }