abstract class io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier extends io.netty.internal.tcnative.CertificateVerifier
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier
super_class: io.netty.internal.tcnative.CertificateVerifier
{
private final io.netty.handler.ssl.OpenSslEngineMap engineMap;
descriptor: Lio/netty/handler/ssl/OpenSslEngineMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.netty.handler.ssl.OpenSslEngineMap);
descriptor: (Lio/netty/handler/ssl/OpenSslEngineMap;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.internal.tcnative.CertificateVerifier.<init>:()V
1: aload 0
aload 1
putfield io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.engineMap:Lio/netty/handler/ssl/OpenSslEngineMap;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/ssl/ReferenceCountedOpenSslContext$AbstractCertificateVerifier;
0 3 1 engineMap Lio/netty/handler/ssl/OpenSslEngineMap;
MethodParameters:
Name Flags
engineMap
public final int verify(long, byte[][], java.lang.String);
descriptor: (J[[BLjava/lang/String;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 3
invokestatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.certificates:([[B)[Ljava/security/cert/X509Certificate;
astore 5
start local 5 1: aload 0
getfield io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.engineMap:Lio/netty/handler/ssl/OpenSslEngineMap;
lload 1
invokeinterface io.netty.handler.ssl.OpenSslEngineMap.get:(J)Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;
astore 6
start local 6 2: aload 0
aload 6
aload 5
aload 4
invokevirtual io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.verify:(Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;[Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
3: getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_OK:I
4: ireturn
5: StackMap locals: io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier long byte[][] java.lang.String java.security.cert.X509Certificate[] io.netty.handler.ssl.ReferenceCountedOpenSslEngine
StackMap stack: java.lang.Throwable
astore 7
start local 7 6: getstatic io.netty.handler.ssl.ReferenceCountedOpenSslContext.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "verification of certificate failed"
aload 7
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
7: new javax.net.ssl.SSLHandshakeException
dup
ldc "General OpenSslEngine problem"
invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 8: aload 8
aload 7
invokevirtual javax.net.ssl.SSLHandshakeException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
9: aload 6
aload 8
putfield io.netty.handler.ssl.ReferenceCountedOpenSslEngine.handshakeException:Ljavax/net/ssl/SSLHandshakeException;
10: aload 7
instanceof io.netty.handler.ssl.OpenSslCertificateException
ifeq 12
11: aload 7
checkcast io.netty.handler.ssl.OpenSslCertificateException
invokevirtual io.netty.handler.ssl.OpenSslCertificateException.errorCode:()I
ireturn
12: StackMap locals: java.lang.Throwable javax.net.ssl.SSLHandshakeException
StackMap stack:
aload 7
instanceof java.security.cert.CertificateExpiredException
ifeq 14
13: getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_ERR_CERT_HAS_EXPIRED:I
ireturn
14: StackMap locals:
StackMap stack:
aload 7
instanceof java.security.cert.CertificateNotYetValidException
ifeq 16
15: getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_ERR_CERT_NOT_YET_VALID:I
ireturn
16: StackMap locals:
StackMap stack:
invokestatic io.netty.util.internal.PlatformDependent.javaVersion:()I
bipush 7
if_icmplt 32
17: aload 7
instanceof java.security.cert.CertificateRevokedException
ifeq 19
18: getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_ERR_CERT_REVOKED:I
ireturn
19: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 9
start local 9 20: goto 31
21: StackMap locals: java.lang.Throwable
StackMap stack:
aload 9
instanceof java.security.cert.CertPathValidatorException
ifeq 30
22: aload 9
checkcast java.security.cert.CertPathValidatorException
astore 10
start local 10 23: aload 10
invokevirtual java.security.cert.CertPathValidatorException.getReason:()Ljava/security/cert/CertPathValidatorException$Reason;
astore 11
start local 11 24: aload 11
getstatic java.security.cert.CertPathValidatorException$BasicReason.EXPIRED:Ljava/security/cert/CertPathValidatorException$BasicReason;
if_acmpne 26
25: getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_ERR_CERT_HAS_EXPIRED:I
ireturn
26: StackMap locals: java.security.cert.CertPathValidatorException java.security.cert.CertPathValidatorException$Reason
StackMap stack:
aload 11
getstatic java.security.cert.CertPathValidatorException$BasicReason.NOT_YET_VALID:Ljava/security/cert/CertPathValidatorException$BasicReason;
if_acmpne 28
27: getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_ERR_CERT_NOT_YET_VALID:I
ireturn
28: StackMap locals:
StackMap stack:
aload 11
getstatic java.security.cert.CertPathValidatorException$BasicReason.REVOKED:Ljava/security/cert/CertPathValidatorException$BasicReason;
if_acmpne 30
29: getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_ERR_CERT_REVOKED:I
ireturn
end local 11 end local 10 30: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 9
31: StackMap locals:
StackMap stack:
aload 9
ifnonnull 21
end local 9 32: StackMap locals:
StackMap stack:
getstatic io.netty.internal.tcnative.CertificateVerifier.X509_V_ERR_UNSPECIFIED:I
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lio/netty/handler/ssl/ReferenceCountedOpenSslContext$AbstractCertificateVerifier;
0 33 1 ssl J
0 33 3 chain [[B
0 33 4 auth Ljava/lang/String;
1 33 5 peerCerts [Ljava/security/cert/X509Certificate;
2 33 6 engine Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;
6 33 7 cause Ljava/lang/Throwable;
8 33 8 e Ljavax/net/ssl/SSLHandshakeException;
20 32 9 wrapped Ljava/lang/Throwable;
23 30 10 ex Ljava/security/cert/CertPathValidatorException;
24 30 11 reason Ljava/security/cert/CertPathValidatorException$Reason;
Exception table:
from to target type
2 4 5 Class java.lang.Throwable
MethodParameters:
Name Flags
ssl
chain
auth
abstract void verify(io.netty.handler.ssl.ReferenceCountedOpenSslEngine, java.security.cert.X509Certificate[], java.lang.String);
descriptor: (Lio/netty/handler/ssl/ReferenceCountedOpenSslEngine;[Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
engine
peerCerts
auth
}
SourceFile: "ReferenceCountedOpenSslContext.java"
NestHost: io.netty.handler.ssl.ReferenceCountedOpenSslContext
InnerClasses:
abstract AbstractCertificateVerifier = io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier of io.netty.handler.ssl.ReferenceCountedOpenSslContext
public final BasicReason = java.security.cert.CertPathValidatorException$BasicReason of java.security.cert.CertPathValidatorException
public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException