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