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.Map;
22
23 import javax.net.ssl.SSLEngine;
24 import javax.net.ssl.SSLException;
25
26
27
28
29
30 public abstract class OpenSslContext extends ReferenceCountedOpenSslContext {
31 OpenSslContext(Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apnCfg,
32 int mode, Certificate[] keyCertChain,
33 ClientAuth clientAuth, String[] protocols, boolean startTls, boolean enableOcsp,
34 Map.Entry<SslContextOption<?>, Object>... options)
35 throws SSLException {
36 super(ciphers, cipherFilter, toNegotiator(apnCfg), mode, keyCertChain,
37 clientAuth, protocols, startTls, enableOcsp, false, options);
38 }
39
40 OpenSslContext(Iterable<String> ciphers, CipherSuiteFilter cipherFilter, OpenSslApplicationProtocolNegotiator apn,
41 int mode, Certificate[] keyCertChain,
42 ClientAuth clientAuth, String[] protocols, boolean startTls, boolean enableOcsp,
43 Map.Entry<SslContextOption<?>, Object>... options)
44 throws SSLException {
45 super(ciphers, cipherFilter, apn, mode, keyCertChain,
46 clientAuth, protocols, startTls, enableOcsp, false, options);
47 }
48
49 @Override
50 final SSLEngine newEngine0(ByteBufAllocator alloc, String peerHost, int peerPort, boolean jdkCompatibilityMode) {
51 return new OpenSslEngine(this, alloc, peerHost, peerPort, jdkCompatibilityMode);
52 }
53
54 @Override
55 @SuppressWarnings("FinalizeDeclaration")
56 protected final void finalize() throws Throwable {
57 super.finalize();
58 OpenSsl.releaseIfNeeded(this);
59 }
60 }