public final class oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext extends oadd.io.netty.handler.ssl.ReferenceCountedOpenSslContext
{
private static final oadd.io.netty.util.internal.logging.InternalLogger logger;
private static final byte[] ID;
private final oadd.io.netty.handler.ssl.OpenSslServerSessionContext sessionContext;
transient void <init>(java.security.cert.X509Certificate[], javax.net.ssl.TrustManagerFactory, java.security.cert.X509Certificate[], java.security.PrivateKey, java.lang.String, javax.net.ssl.KeyManagerFactory, java.lang.Iterable, oadd.io.netty.handler.ssl.CipherSuiteFilter, oadd.io.netty.handler.ssl.ApplicationProtocolConfig, long, long, oadd.io.netty.handler.ssl.ClientAuth, java.lang.String[], boolean, boolean, java.lang.String, java.util.Map$Entry[]) throws javax.net.ssl.SSLException
{
oadd.io.netty.handler.ssl.OpenSslApplicationProtocolNegotiator v;
java.lang.String[] v;
long v, v;
java.lang.Iterable v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext v;
java.lang.String v, v;
java.util.Map$Entry[] v;
boolean v, v;
javax.net.ssl.TrustManagerFactory v;
oadd.io.netty.handler.ssl.CipherSuiteFilter v;
javax.net.ssl.KeyManagerFactory v;
oadd.io.netty.handler.ssl.ApplicationProtocolConfig v;
oadd.io.netty.handler.ssl.ClientAuth v;
java.security.PrivateKey v;
java.security.cert.X509Certificate[] v, v;
v := @this: oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext;
v := @parameter: java.security.cert.X509Certificate[];
v := @parameter: javax.net.ssl.TrustManagerFactory;
v := @parameter: java.security.cert.X509Certificate[];
v := @parameter: java.security.PrivateKey;
v := @parameter: java.lang.String;
v := @parameter: javax.net.ssl.KeyManagerFactory;
v := @parameter: java.lang.Iterable;
v := @parameter: oadd.io.netty.handler.ssl.CipherSuiteFilter;
v := @parameter: oadd.io.netty.handler.ssl.ApplicationProtocolConfig;
v := @parameter: long;
v := @parameter: long;
v := @parameter: oadd.io.netty.handler.ssl.ClientAuth;
v := @parameter: java.lang.String[];
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map$Entry[];
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.handler.ssl.OpenSslApplicationProtocolNegotiator toNegotiator(oadd.io.netty.handler.ssl.ApplicationProtocolConfig)>(v);
specialinvoke v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: void <init>(java.security.cert.X509Certificate[],javax.net.ssl.TrustManagerFactory,java.security.cert.X509Certificate[],java.security.PrivateKey,java.lang.String,javax.net.ssl.KeyManagerFactory,java.lang.Iterable,oadd.io.netty.handler.ssl.CipherSuiteFilter,oadd.io.netty.handler.ssl.OpenSslApplicationProtocolNegotiator,long,long,oadd.io.netty.handler.ssl.ClientAuth,java.lang.String[],boolean,boolean,java.lang.String,java.util.Map$Entry[])>(v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v);
return;
}
transient void <init>(java.security.cert.X509Certificate[], javax.net.ssl.TrustManagerFactory, java.security.cert.X509Certificate[], java.security.PrivateKey, java.lang.String, javax.net.ssl.KeyManagerFactory, java.lang.Iterable, oadd.io.netty.handler.ssl.CipherSuiteFilter, oadd.io.netty.handler.ssl.OpenSslApplicationProtocolNegotiator, long, long, oadd.io.netty.handler.ssl.ClientAuth, java.lang.String[], boolean, boolean, java.lang.String, java.util.Map$Entry[]) throws javax.net.ssl.SSLException
{
java.lang.Throwable v;
oadd.io.netty.handler.ssl.OpenSslApplicationProtocolNegotiator v;
oadd.io.netty.handler.ssl.OpenSslEngineMap v;
java.lang.String[] v;
long v, v, v;
java.lang.Iterable v;
oadd.io.netty.handler.ssl.OpenSslServerSessionContext v, v;
oadd.io.netty.handler.ssl.OpenSslSessionTicketKey[] v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext v;
java.lang.String v, v;
java.util.Map$Entry[] v;
boolean v, v, v;
javax.net.ssl.TrustManagerFactory v;
oadd.io.netty.handler.ssl.CipherSuiteFilter v;
javax.net.ssl.KeyManagerFactory v;
oadd.io.netty.handler.ssl.ClientAuth v;
java.security.PrivateKey v;
java.security.cert.X509Certificate[] v, v;
v := @this: oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext;
v := @parameter: java.security.cert.X509Certificate[];
v := @parameter: javax.net.ssl.TrustManagerFactory;
v := @parameter: java.security.cert.X509Certificate[];
v := @parameter: java.security.PrivateKey;
v := @parameter: java.lang.String;
v := @parameter: javax.net.ssl.KeyManagerFactory;
v := @parameter: java.lang.Iterable;
v := @parameter: oadd.io.netty.handler.ssl.CipherSuiteFilter;
v := @parameter: oadd.io.netty.handler.ssl.OpenSslApplicationProtocolNegotiator;
v := @parameter: long;
v := @parameter: long;
v := @parameter: oadd.io.netty.handler.ssl.ClientAuth;
v := @parameter: java.lang.String[];
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map$Entry[];
specialinvoke v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslContext: void <init>(java.lang.Iterable,oadd.io.netty.handler.ssl.CipherSuiteFilter,oadd.io.netty.handler.ssl.OpenSslApplicationProtocolNegotiator,int,java.security.cert.Certificate[],oadd.io.netty.handler.ssl.ClientAuth,java.lang.String[],boolean,boolean,boolean,java.util.Map$Entry[])>(v, v, v, 1, v, v, v, v, v, 1, v);
label:
v = v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: long ctx>;
v = v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.handler.ssl.OpenSslEngineMap engineMap>;
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.handler.ssl.OpenSslServerSessionContext newSessionContext(oadd.io.netty.handler.ssl.ReferenceCountedOpenSslContext,long,oadd.io.netty.handler.ssl.OpenSslEngineMap,java.security.cert.X509Certificate[],javax.net.ssl.TrustManagerFactory,java.security.cert.X509Certificate[],java.security.PrivateKey,java.lang.String,javax.net.ssl.KeyManagerFactory,java.lang.String,long,long)>(v, v, v, v, v, v, v, v, v, v, v, v);
v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.handler.ssl.OpenSslServerSessionContext sessionContext> = v;
v = <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: boolean SERVER_ENABLE_SESSION_TICKET>;
if v == 0 goto label;
v = v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.handler.ssl.OpenSslServerSessionContext sessionContext>;
v = newarray (oadd.io.netty.handler.ssl.OpenSslSessionTicketKey)[0];
virtualinvoke v.<oadd.io.netty.handler.ssl.OpenSslServerSessionContext: void setTicketKeys(oadd.io.netty.handler.ssl.OpenSslSessionTicketKey[])>(v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public oadd.io.netty.handler.ssl.OpenSslServerSessionContext sessionContext()
{
oadd.io.netty.handler.ssl.OpenSslServerSessionContext v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext v;
v := @this: oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext;
v = v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.handler.ssl.OpenSslServerSessionContext sessionContext>;
return v;
}
static oadd.io.netty.handler.ssl.OpenSslServerSessionContext newSessionContext(oadd.io.netty.handler.ssl.ReferenceCountedOpenSslContext, long, oadd.io.netty.handler.ssl.OpenSslEngineMap, java.security.cert.X509Certificate[], javax.net.ssl.TrustManagerFactory, java.security.cert.X509Certificate[], java.security.PrivateKey, java.lang.String, javax.net.ssl.KeyManagerFactory, java.lang.String, long, long) throws javax.net.ssl.SSLException
{
byte[] v;
oadd.io.netty.handler.ssl.OpenSslEngineMap v;
java.util.Enumeration v;
oadd.io.netty.handler.ssl.OpenSslKeyMaterialProvider v;
byte v, v;
oadd.io.netty.buffer.ByteBufAllocator v;
boolean v, v, v, v;
javax.net.ssl.TrustManagerFactory v;
java.security.KeyStore v, v;
java.lang.Exception v, v;
javax.net.ssl.SSLException v, v, v, v;
java.security.PrivateKey v;
oadd.io.netty.handler.ssl.OpenSslKeyMaterialManager v;
java.security.cert.X509Certificate[] v, v, v;
java.lang.Throwable v, v;
oadd.io.netty.handler.ssl.OpenSslCachingX509KeyManagerFactory v;
long v, v, v, v, v, v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$OpenSslSniHostnameMatcher v;
oadd.io.netty.handler.ssl.OpenSslServerSessionContext v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$OpenSslServerCertificateCallback v;
int v, v;
java.lang.String v, v, v, v, v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslContext v;
javax.net.ssl.KeyManagerFactory v, v;
java.lang.IllegalArgumentException v;
javax.net.ssl.TrustManager[] v;
javax.net.ssl.X509TrustManager v;
oadd.io.netty.handler.ssl.OpenSslX509KeyManagerFactory v;
char[] v;
v := @parameter: oadd.io.netty.handler.ssl.ReferenceCountedOpenSslContext;
v := @parameter: long;
v := @parameter: oadd.io.netty.handler.ssl.OpenSslEngineMap;
v := @parameter: java.security.cert.X509Certificate[];
v := @parameter: javax.net.ssl.TrustManagerFactory;
v := @parameter: java.security.cert.X509Certificate[];
v := @parameter: java.security.PrivateKey;
v := @parameter: java.lang.String;
v := @parameter: javax.net.ssl.KeyManagerFactory;
v := @parameter: java.lang.String;
v := @parameter: long;
v := @parameter: long;
v = null;
label:
staticinvoke <oadd.io.netty.internal.tcnative.SSLContext: void setVerify(long,int,int)>(v, 0, 10);
v = staticinvoke <oadd.io.netty.handler.ssl.OpenSsl: boolean useKeyManagerFactory()>();
if v != 0 goto label;
if v == null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("KeyManagerFactory not supported");
throw v;
label:
staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "keyCertChain");
staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: void setKeyMaterial(long,java.security.cert.X509Certificate[],java.security.PrivateKey,java.lang.String)>(v, v, v, v);
goto label;
label:
if v != null goto label;
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: char[] keyStorePassword(java.lang.String)>(v);
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: java.security.KeyStore buildKeyStore(java.security.cert.X509Certificate[],java.security.PrivateKey,char[],java.lang.String)>(v, v, v, v);
v = virtualinvoke v.<java.security.KeyStore: java.util.Enumeration aliases()>();
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = new oadd.io.netty.handler.ssl.OpenSslX509KeyManagerFactory;
specialinvoke v.<oadd.io.netty.handler.ssl.OpenSslX509KeyManagerFactory: void <init>()>();
v = v;
goto label;
label:
v = new oadd.io.netty.handler.ssl.OpenSslCachingX509KeyManagerFactory;
v = staticinvoke <javax.net.ssl.KeyManagerFactory: java.lang.String getDefaultAlgorithm()>();
v = staticinvoke <javax.net.ssl.KeyManagerFactory: javax.net.ssl.KeyManagerFactory getInstance(java.lang.String)>(v);
specialinvoke v.<oadd.io.netty.handler.ssl.OpenSslCachingX509KeyManagerFactory: void <init>(javax.net.ssl.KeyManagerFactory)>(v);
v = v;
label:
virtualinvoke v.<javax.net.ssl.KeyManagerFactory: void init(java.security.KeyStore,char[])>(v, v);
label:
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.handler.ssl.OpenSslKeyMaterialProvider providerFor(javax.net.ssl.KeyManagerFactory,java.lang.String)>(v, v);
v = new oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$OpenSslServerCertificateCallback;
v = new oadd.io.netty.handler.ssl.OpenSslKeyMaterialManager;
specialinvoke v.<oadd.io.netty.handler.ssl.OpenSslKeyMaterialManager: void <init>(oadd.io.netty.handler.ssl.OpenSslKeyMaterialProvider)>(v);
specialinvoke v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$OpenSslServerCertificateCallback: void <init>(oadd.io.netty.handler.ssl.OpenSslEngineMap,oadd.io.netty.handler.ssl.OpenSslKeyMaterialManager)>(v, v);
staticinvoke <oadd.io.netty.internal.tcnative.SSLContext: void setCertificateCallback(long,oadd.io.netty.internal.tcnative.CertificateCallback)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new javax.net.ssl.SSLException;
specialinvoke v.<javax.net.ssl.SSLException: void <init>(java.lang.String,java.lang.Throwable)>("failed to set certificate and key", v);
throw v;
label:
if v == null goto label;
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: javax.net.ssl.TrustManagerFactory buildTrustManagerFactory(java.security.cert.X509Certificate[],javax.net.ssl.TrustManagerFactory,java.lang.String)>(v, v, v);
goto label;
label:
if v != null goto label;
v = staticinvoke <javax.net.ssl.TrustManagerFactory: java.lang.String getDefaultAlgorithm()>();
v = staticinvoke <javax.net.ssl.TrustManagerFactory: javax.net.ssl.TrustManagerFactory getInstance(java.lang.String)>(v);
v = null;
virtualinvoke v.<javax.net.ssl.TrustManagerFactory: void init(java.security.KeyStore)>(v);
label:
v = virtualinvoke v.<javax.net.ssl.TrustManagerFactory: javax.net.ssl.TrustManager[] getTrustManagers()>();
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: javax.net.ssl.X509TrustManager chooseTrustManager(javax.net.ssl.TrustManager[])>(v);
staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: void setVerifyCallback(long,oadd.io.netty.handler.ssl.OpenSslEngineMap,javax.net.ssl.X509TrustManager)>(v, v, v);
v = interfaceinvoke v.<javax.net.ssl.X509TrustManager: java.security.cert.X509Certificate[] getAcceptedIssuers()>();
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = 0L;
label:
v = <oadd.io.netty.buffer.ByteBufAllocator: oadd.io.netty.buffer.ByteBufAllocator DEFAULT>;
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: long toBIO(oadd.io.netty.buffer.ByteBufAllocator,java.security.cert.X509Certificate[])>(v, v);
v = staticinvoke <oadd.io.netty.internal.tcnative.SSLContext: boolean setCACertificateBio(long,long)>(v, v);
if v != 0 goto label;
v = new javax.net.ssl.SSLException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (javax.net.ssl.X509TrustManager)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("unable to setup accepted issuers for trustmanager \u0001");
specialinvoke v.<javax.net.ssl.SSLException: void <init>(java.lang.String)>(v);
throw v;
label:
staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: void freeBio(long)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: void freeBio(long)>(v);
throw v;
label:
v = staticinvoke <oadd.io.netty.util.internal.PlatformDependent: int javaVersion()>();
if v < 8 goto label;
v = new oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$OpenSslSniHostnameMatcher;
specialinvoke v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$OpenSslSniHostnameMatcher: void <init>(oadd.io.netty.handler.ssl.OpenSslEngineMap)>(v);
staticinvoke <oadd.io.netty.internal.tcnative.SSLContext: void setSniHostnameMatcher(long,oadd.io.netty.internal.tcnative.SniHostNameMatcher)>(v, v);
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new javax.net.ssl.SSLException;
specialinvoke v.<javax.net.ssl.SSLException: void <init>(java.lang.String,java.lang.Throwable)>("unable to setup trustmanager", v);
throw v;
label:
v = new oadd.io.netty.handler.ssl.OpenSslServerSessionContext;
specialinvoke v.<oadd.io.netty.handler.ssl.OpenSslServerSessionContext: void <init>(oadd.io.netty.handler.ssl.ReferenceCountedOpenSslContext,oadd.io.netty.handler.ssl.OpenSslKeyMaterialProvider)>(v, v);
v = <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: byte[] ID>;
virtualinvoke v.<oadd.io.netty.handler.ssl.OpenSslServerSessionContext: boolean setSessionIdContext(byte[])>(v);
v = <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: boolean SERVER_ENABLE_SESSION_CACHE>;
virtualinvoke v.<oadd.io.netty.handler.ssl.OpenSslServerSessionContext: void setSessionCacheEnabled(boolean)>(v);
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, 2147483647L);
virtualinvoke v.<oadd.io.netty.handler.ssl.OpenSslServerSessionContext: void setSessionCacheSize(int)>(v);
label:
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, 2147483647L);
virtualinvoke v.<oadd.io.netty.handler.ssl.OpenSslServerSessionContext: void setSessionTimeout(int)>(v);
label:
return v;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<oadd.io.netty.handler.ssl.OpenSslKeyMaterialProvider: void destroy()>();
label:
throw v;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch javax.net.ssl.SSLException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static void setVerifyCallback(long, oadd.io.netty.handler.ssl.OpenSslEngineMap, javax.net.ssl.X509TrustManager)
{
oadd.io.netty.handler.ssl.OpenSslEngineMap v;
javax.net.ssl.X509TrustManager v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$TrustManagerVerifyCallback v;
oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$ExtendedTrustManagerVerifyCallback v;
long v;
boolean v;
v := @parameter: long;
v := @parameter: oadd.io.netty.handler.ssl.OpenSslEngineMap;
v := @parameter: javax.net.ssl.X509TrustManager;
v = staticinvoke <oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: boolean useExtendedTrustManager(javax.net.ssl.X509TrustManager)>(v);
if v == 0 goto label;
v = new oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$ExtendedTrustManagerVerifyCallback;
specialinvoke v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$ExtendedTrustManagerVerifyCallback: void <init>(oadd.io.netty.handler.ssl.OpenSslEngineMap,javax.net.ssl.X509ExtendedTrustManager)>(v, v);
staticinvoke <oadd.io.netty.internal.tcnative.SSLContext: void setCertVerifyCallback(long,oadd.io.netty.internal.tcnative.CertificateVerifier)>(v, v);
goto label;
label:
v = new oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$TrustManagerVerifyCallback;
specialinvoke v.<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext$TrustManagerVerifyCallback: void <init>(oadd.io.netty.handler.ssl.OpenSslEngineMap,javax.net.ssl.X509TrustManager)>(v, v);
staticinvoke <oadd.io.netty.internal.tcnative.SSLContext: void setCertVerifyCallback(long,oadd.io.netty.internal.tcnative.CertificateVerifier)>(v, v);
label:
return;
}
static void <clinit>()
{
byte[] v;
oadd.io.netty.util.internal.logging.InternalLogger v;
v = staticinvoke <oadd.io.netty.util.internal.logging.InternalLoggerFactory: oadd.io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Loadd/io/netty/handler/ssl/ReferenceCountedOpenSslServerContext;");
<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: oadd.io.netty.util.internal.logging.InternalLogger logger> = v;
v = newarray (byte)[5];
v[0] = 110;
v[1] = 101;
v[2] = 116;
v[3] = 116;
v[4] = 121;
<oadd.io.netty.handler.ssl.ReferenceCountedOpenSslServerContext: byte[] ID> = v;
return;
}
}