class io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2 implements javax.net.ssl.X509TrustManager
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2
super_class: java.lang.Object
{
final io.netty.handler.ssl.util.FingerprintTrustManagerFactory this$0;
descriptor: Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.netty.handler.ssl.util.FingerprintTrustManagerFactory);
descriptor: (Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2.this$0:Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory$2;
MethodParameters:
Name Flags
this$0 final
public void checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "client"
aload 1
invokevirtual io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2.checkTrusted:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory$2;
0 2 1 chain [Ljava/security/cert/X509Certificate;
0 2 2 s Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
s
public void checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "server"
aload 1
invokevirtual io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2.checkTrusted:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory$2;
0 2 1 chain [Ljava/security/cert/X509Certificate;
0 2 2 s Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
s
private void checkTrusted(java.lang.String, java.security.cert.X509Certificate[]);
descriptor: (Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
aaload
astore 3
start local 3 1: aload 0
aload 3
invokevirtual io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2.fingerprint:(Ljava/security/cert/X509Certificate;)[B
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: aload 0
getfield io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2.this$0:Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory;
getfield io.netty.handler.ssl.util.FingerprintTrustManagerFactory.fingerprints:[[B
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 9
StackMap locals: io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2 java.lang.String java.security.cert.X509Certificate[] java.security.cert.X509Certificate byte[] int top int int byte[][]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: aload 4
aload 6
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 8
6: iconst_1
istore 5
7: goto 10
end local 6 8: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 8
if_icmplt 4
10: StackMap locals: io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2 java.lang.String java.security.cert.X509Certificate[] java.security.cert.X509Certificate byte[] int
StackMap stack:
iload 5
ifne 14
11: new java.security.cert.CertificateException
dup
12: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " certificate with unknown fingerprint: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory$2;
0 15 1 type Ljava/lang/String;
0 15 2 chain [Ljava/security/cert/X509Certificate;
1 15 3 cert Ljava/security/cert/X509Certificate;
2 15 4 fingerprint [B
3 15 5 found Z
5 8 6 allowedFingerprint [B
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
type
chain
private byte[] fingerprint(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic io.netty.handler.ssl.util.FingerprintTrustManagerFactory.tlmd:Lio/netty/util/concurrent/FastThreadLocal;
invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
checkcast java.security.MessageDigest
astore 2
start local 2 1: aload 2
invokevirtual java.security.MessageDigest.reset:()V
2: aload 2
aload 1
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
invokevirtual java.security.MessageDigest.digest:([B)[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory$2;
0 3 1 cert Ljava/security/cert/X509Certificate;
1 3 2 md Ljava/security/MessageDigest;
Exceptions:
throws java.security.cert.CertificateEncodingException
MethodParameters:
Name Flags
cert
public java.security.cert.X509Certificate[] getAcceptedIssuers();
descriptor: ()[Ljava/security/cert/X509Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic io.netty.util.internal.EmptyArrays.EMPTY_X509_CERTIFICATES:[Ljava/security/cert/X509Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/util/FingerprintTrustManagerFactory$2;
}
SourceFile: "FingerprintTrustManagerFactory.java"
EnclosingMethod: io.netty.handler.ssl.util.FingerprintTrustManagerFactory
NestHost: io.netty.handler.ssl.util.FingerprintTrustManagerFactory
InnerClasses:
io.netty.handler.ssl.util.FingerprintTrustManagerFactory$2