final class sun.security.ssl.AbstractTrustManagerWrapper extends javax.net.ssl.X509ExtendedTrustManager implements javax.net.ssl.X509TrustManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.AbstractTrustManagerWrapper
super_class: javax.net.ssl.X509ExtendedTrustManager
{
private final javax.net.ssl.X509TrustManager tm;
descriptor: Ljavax/net/ssl/X509TrustManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(javax.net.ssl.X509TrustManager);
descriptor: (Ljavax/net/ssl/X509TrustManager;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial javax.net.ssl.X509ExtendedTrustManager.<init>:()V
1: aload 0
aload 1
putfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 3 1 tm Ljavax/net/ssl/X509TrustManager;
MethodParameters:
Name Flags
tm
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
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
aload 1
aload 2
invokeinterface javax.net.ssl.X509TrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 2 1 chain [Ljava/security/cert/X509Certificate;
0 2 2 authType Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
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
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
aload 1
aload 2
invokeinterface javax.net.ssl.X509TrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 2 1 chain [Ljava/security/cert/X509Certificate;
0 2 2 authType Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
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: aload 0
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
invokeinterface javax.net.ssl.X509TrustManager.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
public void checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String, java.net.Socket);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
aload 1
aload 2
invokeinterface javax.net.ssl.X509TrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
1: aload 0
aload 1
aload 2
aload 3
iconst_1
invokevirtual sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;Z)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 3 1 chain [Ljava/security/cert/X509Certificate;
0 3 2 authType Ljava/lang/String;
0 3 3 socket Ljava/net/Socket;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
socket
public void checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, java.net.Socket);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
aload 1
aload 2
invokeinterface javax.net.ssl.X509TrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
1: aload 0
aload 1
aload 2
aload 3
iconst_0
invokevirtual sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;Z)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 3 1 chain [Ljava/security/cert/X509Certificate;
0 3 2 authType Ljava/lang/String;
0 3 3 socket Ljava/net/Socket;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
socket
public void checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String, javax.net.ssl.SSLEngine);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
aload 1
aload 2
invokeinterface javax.net.ssl.X509TrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
1: aload 0
aload 1
aload 2
aload 3
iconst_1
invokevirtual sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;Z)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 3 1 chain [Ljava/security/cert/X509Certificate;
0 3 2 authType Ljava/lang/String;
0 3 3 engine Ljavax/net/ssl/SSLEngine;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
engine
public void checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, javax.net.ssl.SSLEngine);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
aload 1
aload 2
invokeinterface javax.net.ssl.X509TrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
1: aload 0
aload 1
aload 2
aload 3
iconst_0
invokevirtual sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;Z)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 3 1 chain [Ljava/security/cert/X509Certificate;
0 3 2 authType Ljava/lang/String;
0 3 3 engine Ljavax/net/ssl/SSLEngine;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
engine
private void checkAdditionalTrust(java.security.cert.X509Certificate[], java.lang.String, java.net.Socket, boolean);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 28
aload 3
invokevirtual java.net.Socket.isConnected:()Z
ifeq 28
1: aload 3
instanceof javax.net.ssl.SSLSocket
ifeq 28
2: aload 3
checkcast javax.net.ssl.SSLSocket
astore 5
start local 5 3: aload 5
invokevirtual javax.net.ssl.SSLSocket.getHandshakeSession:()Ljavax/net/ssl/SSLSession;
astore 6
start local 6 4: aload 6
ifnonnull 6
5: new java.security.cert.CertificateException
dup
ldc "No handshake session"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: javax.net.ssl.SSLSocket javax.net.ssl.SSLSession
StackMap stack:
aload 5
invokevirtual javax.net.ssl.SSLSocket.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
7: invokevirtual javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm:()Ljava/lang/String;
8: astore 7
start local 7 9: aload 7
ifnull 13
aload 7
invokevirtual java.lang.String.isEmpty:()Z
ifne 13
10: aload 6
aload 1
11: aload 7
iload 4
12: invokestatic sun.security.ssl.X509TrustManagerImpl.checkIdentity:(Ljavax/net/ssl/SSLSession;[Ljava/security/cert/X509Certificate;Ljava/lang/String;Z)V
13: StackMap locals: java.lang.String
StackMap stack:
aload 6
invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
invokestatic sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:(Ljava/lang/String;)Z
ifeq 26
14: aload 6
instanceof javax.net.ssl.ExtendedSSLSession
ifeq 23
15: aload 6
checkcast javax.net.ssl.ExtendedSSLSession
16: astore 9
start local 9 17: aload 9
invokevirtual javax.net.ssl.ExtendedSSLSession.getLocalSupportedSignatureAlgorithms:()[Ljava/lang/String;
18: astore 10
start local 10 19: new sun.security.ssl.SSLAlgorithmConstraints
dup
20: aload 5
aload 10
iconst_1
21: invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLSocket;[Ljava/lang/String;Z)V
astore 8
end local 10 end local 9 start local 8 22: goto 27
end local 8 23: StackMap locals:
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
aload 5
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLSocket;Z)V
24: astore 8
start local 8 25: goto 27
end local 8 26: StackMap locals:
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
aload 5
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLSocket;Z)V
astore 8
start local 8 27: StackMap locals: java.security.AlgorithmConstraints
StackMap stack:
aload 0
aload 1
aload 8
iload 4
invokevirtual sun.security.ssl.AbstractTrustManagerWrapper.checkAlgorithmConstraints:([Ljava/security/cert/X509Certificate;Ljava/security/AlgorithmConstraints;Z)V
end local 8 end local 7 end local 6 end local 5 28: StackMap locals: sun.security.ssl.AbstractTrustManagerWrapper java.security.cert.X509Certificate[] java.lang.String java.net.Socket int
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 29 1 chain [Ljava/security/cert/X509Certificate;
0 29 2 authType Ljava/lang/String;
0 29 3 socket Ljava/net/Socket;
0 29 4 checkClientTrusted Z
3 28 5 sslSocket Ljavax/net/ssl/SSLSocket;
4 28 6 session Ljavax/net/ssl/SSLSession;
9 28 7 identityAlg Ljava/lang/String;
22 23 8 constraints Ljava/security/AlgorithmConstraints;
25 26 8 constraints Ljava/security/AlgorithmConstraints;
27 28 8 constraints Ljava/security/AlgorithmConstraints;
17 22 9 extSession Ljavax/net/ssl/ExtendedSSLSession;
19 22 10 peerSupportedSignAlgs [Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
socket
checkClientTrusted
private void checkAdditionalTrust(java.security.cert.X509Certificate[], java.lang.String, javax.net.ssl.SSLEngine, boolean);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 26
1: aload 3
invokevirtual javax.net.ssl.SSLEngine.getHandshakeSession:()Ljavax/net/ssl/SSLSession;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: new java.security.cert.CertificateException
dup
ldc "No handshake session"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: javax.net.ssl.SSLSession
StackMap stack:
aload 3
invokevirtual javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
5: invokevirtual javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm:()Ljava/lang/String;
6: astore 6
start local 6 7: aload 6
ifnull 11
aload 6
invokevirtual java.lang.String.isEmpty:()Z
ifne 11
8: aload 5
aload 1
9: aload 6
iload 4
10: invokestatic sun.security.ssl.X509TrustManagerImpl.checkIdentity:(Ljavax/net/ssl/SSLSession;[Ljava/security/cert/X509Certificate;Ljava/lang/String;Z)V
11: StackMap locals: java.lang.String
StackMap stack:
aload 5
invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
invokestatic sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:(Ljava/lang/String;)Z
ifeq 24
12: aload 5
instanceof javax.net.ssl.ExtendedSSLSession
ifeq 21
13: aload 5
checkcast javax.net.ssl.ExtendedSSLSession
14: astore 8
start local 8 15: aload 8
invokevirtual javax.net.ssl.ExtendedSSLSession.getLocalSupportedSignatureAlgorithms:()[Ljava/lang/String;
16: astore 9
start local 9 17: new sun.security.ssl.SSLAlgorithmConstraints
dup
18: aload 3
aload 9
iconst_1
19: invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLEngine;[Ljava/lang/String;Z)V
astore 7
end local 9 end local 8 start local 7 20: goto 25
end local 7 21: StackMap locals:
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
aload 3
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLEngine;Z)V
22: astore 7
start local 7 23: goto 25
end local 7 24: StackMap locals:
StackMap stack:
new sun.security.ssl.SSLAlgorithmConstraints
dup
aload 3
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLEngine;Z)V
astore 7
start local 7 25: StackMap locals: java.security.AlgorithmConstraints
StackMap stack:
aload 0
aload 1
aload 7
iload 4
invokevirtual sun.security.ssl.AbstractTrustManagerWrapper.checkAlgorithmConstraints:([Ljava/security/cert/X509Certificate;Ljava/security/AlgorithmConstraints;Z)V
end local 7 end local 6 end local 5 26: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 27 1 chain [Ljava/security/cert/X509Certificate;
0 27 2 authType Ljava/lang/String;
0 27 3 engine Ljavax/net/ssl/SSLEngine;
0 27 4 checkClientTrusted Z
2 26 5 session Ljavax/net/ssl/SSLSession;
7 26 6 identityAlg Ljava/lang/String;
20 21 7 constraints Ljava/security/AlgorithmConstraints;
23 24 7 constraints Ljava/security/AlgorithmConstraints;
25 26 7 constraints Ljava/security/AlgorithmConstraints;
15 20 8 extSession Ljavax/net/ssl/ExtendedSSLSession;
17 20 9 peerSupportedSignAlgs [Ljava/lang/String;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
engine
checkClientTrusted
private void checkAlgorithmConstraints(java.security.cert.X509Certificate[], java.security.AlgorithmConstraints, boolean);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/security/AlgorithmConstraints;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
iconst_1
isub
istore 4
start local 4 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 2: aload 0
getfield sun.security.ssl.AbstractTrustManagerWrapper.tm:Ljavax/net/ssl/X509TrustManager;
invokeinterface javax.net.ssl.X509TrustManager.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate;
astore 6
start local 6 3: aload 6
ifnull 5
aload 6
arraylength
ifle 5
4: aload 5
aload 6
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
5: StackMap locals: int java.util.Collection java.security.cert.X509Certificate[]
StackMap stack:
aload 5
aload 1
iload 4
aaload
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifeq 7
6: iinc 4 -1
7: StackMap locals:
StackMap stack:
iload 4
iflt 25
8: new sun.security.provider.certpath.AlgorithmChecker
dup
aload 2
aconst_null
9: iload 3
ifeq 10
ldc "tls client"
goto 11
10: StackMap locals: sun.security.ssl.AbstractTrustManagerWrapper java.security.cert.X509Certificate[] java.security.AlgorithmConstraints int int java.util.Collection java.security.cert.X509Certificate[]
StackMap stack: new 8 new 8 java.security.AlgorithmConstraints null
ldc "tls server"
11: StackMap locals: sun.security.ssl.AbstractTrustManagerWrapper java.security.cert.X509Certificate[] java.security.AlgorithmConstraints int int java.util.Collection java.security.cert.X509Certificate[]
StackMap stack: new 8 new 8 java.security.AlgorithmConstraints null java.lang.String
invokespecial sun.security.provider.certpath.AlgorithmChecker.<init>:(Ljava/security/AlgorithmConstraints;Ljava/security/Timestamp;Ljava/lang/String;)V
12: astore 7
start local 7 13: aload 7
iconst_0
invokevirtual sun.security.provider.certpath.AlgorithmChecker.init:(Z)V
14: iload 4
istore 8
start local 8 15: goto 19
16: StackMap locals: sun.security.provider.certpath.AlgorithmChecker int
StackMap stack:
aload 1
iload 8
aaload
astore 9
start local 9 17: aload 7
aload 9
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokevirtual sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
end local 9 18: iinc 8 -1
StackMap locals:
StackMap stack:
19: iload 8
ifge 16
end local 8 end local 7 end local 6 end local 5 end local 4 20: goto 25
StackMap locals: sun.security.ssl.AbstractTrustManagerWrapper java.security.cert.X509Certificate[] java.security.AlgorithmConstraints int
StackMap stack: java.security.cert.CertPathValidatorException
21: astore 4
start local 4 22: new java.security.cert.CertificateException
dup
23: ldc "Certificates do not conform to algorithm constraints"
aload 4
24: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 25: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/ssl/AbstractTrustManagerWrapper;
0 26 1 chain [Ljava/security/cert/X509Certificate;
0 26 2 constraints Ljava/security/AlgorithmConstraints;
0 26 3 checkClientTrusted Z
1 20 4 checkedLength I
2 20 5 trustedCerts Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
3 20 6 certs [Ljava/security/cert/X509Certificate;
13 20 7 checker Lsun/security/provider/certpath/AlgorithmChecker;
15 20 8 i I
17 18 9 cert Ljava/security/cert/X509Certificate;
22 25 4 cpve Ljava/security/cert/CertPathValidatorException;
Exception table:
from to target type
0 20 21 Class java.security.cert.CertPathValidatorException
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
constraints
checkClientTrusted
}
SourceFile: "SSLContextImpl.java"