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 throws SSLException {
39 super(ciphers, cipherFilter, toNegotiator(apnCfg), mode, keyCertChain,
40 clientAuth, protocols, startTls, endpointIdentificationAlgorithm, enableOcsp, false,
41 serverNames, resumptionController, options);
42 }
43
44 OpenSslContext(Iterable<String> ciphers, CipherSuiteFilter cipherFilter, OpenSslApplicationProtocolNegotiator apn,
45 int mode, Certificate[] keyCertChain,
46 ClientAuth clientAuth, String[] protocols, boolean startTls, boolean enableOcsp,
47 List<SNIServerName> serverNames, ResumptionController resumptionController,
48 Map.Entry<SslContextOption<?>, Object>... options)
49 throws SSLException {
50 super(ciphers, cipherFilter, apn, mode, keyCertChain,
51 clientAuth, protocols, startTls, null, enableOcsp, false, serverNames, resumptionController, options);
52 }
53
54 @Override
55 final SSLEngine newEngine0(ByteBufAllocator alloc, String peerHost, int peerPort, boolean jdkCompatibilityMode) {
56 return new OpenSslEngine(this, alloc, peerHost, peerPort, jdkCompatibilityMode,
57 endpointIdentificationAlgorithm, serverNames);
58 }
59
60 @Override
61 @SuppressWarnings("FinalizeDeclaration")
62 protected final void finalize() throws Throwable {
63 super.finalize();
64 OpenSsl.releaseIfNeeded(this);
65 }
66 }