public class android.security.net.config.RootTrustManager extends javax.net.ssl.X509ExtendedTrustManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.security.net.config.RootTrustManager
super_class: javax.net.ssl.X509ExtendedTrustManager
{
private final android.security.net.config.ApplicationConfig mConfig;
descriptor: Landroid/security/net/config/ApplicationConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(android.security.net.config.ApplicationConfig);
descriptor: (Landroid/security/net/config/ApplicationConfig;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial javax.net.ssl.X509ExtendedTrustManager.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "config must not be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: android.security.net.config.RootTrustManager android.security.net.config.ApplicationConfig
StackMap stack:
aload 0
aload 1
putfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/security/net/config/RootTrustManager;
0 5 1 config Landroid/security/net/config/ApplicationConfig;
MethodParameters:
Name Flags
config
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=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
ldc ""
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 3
start local 3 1: aload 3
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
aload 1
aload 2
invokevirtual android.security.net.config.NetworkSecurityTrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)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 Landroid/security/net/config/RootTrustManager;
0 3 1 chain [Ljava/security/cert/X509Certificate;
0 3 2 authType Ljava/lang/String;
1 3 3 config Landroid/security/net/config/NetworkSecurityConfig;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
chain
authType
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=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
ldc ""
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 4
start local 4 1: aload 4
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
aload 1
aload 2
aload 3
invokevirtual android.security.net.config.NetworkSecurityTrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/security/net/config/RootTrustManager;
0 3 1 certs [Ljava/security/cert/X509Certificate;
0 3 2 authType Ljava/lang/String;
0 3 3 socket Ljava/net/Socket;
1 3 4 config Landroid/security/net/config/NetworkSecurityConfig;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
certs
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=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
ldc ""
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 4
start local 4 1: aload 4
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
aload 1
aload 2
aload 3
invokevirtual android.security.net.config.NetworkSecurityTrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/security/net/config/RootTrustManager;
0 3 1 certs [Ljava/security/cert/X509Certificate;
0 3 2 authType Ljava/lang/String;
0 3 3 engine Ljavax/net/ssl/SSLEngine;
1 3 4 config Landroid/security/net/config/NetworkSecurityConfig;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
certs
authType
engine
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=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
instanceof javax.net.ssl.SSLSocket
ifeq 9
1: aload 3
checkcast javax.net.ssl.SSLSocket
astore 4
start local 4 2: aload 4
invokevirtual javax.net.ssl.SSLSocket.getHandshakeSession:()Ljavax/net/ssl/SSLSession;
astore 5
start local 5 3: aload 5
ifnonnull 5
4: new java.security.cert.CertificateException
dup
ldc "Not in handshake; no session available"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: javax.net.ssl.SSLSocket javax.net.ssl.SSLSession
StackMap stack:
aload 5
invokeinterface javax.net.ssl.SSLSession.getPeerHost:()Ljava/lang/String;
astore 6
start local 6 6: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
aload 6
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 7
start local 7 7: aload 7
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
aload 1
aload 2
aload 3
invokevirtual android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
end local 7 end local 6 end local 5 end local 4 8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual android.security.net.config.RootTrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/security/net/config/RootTrustManager;
0 11 1 certs [Ljava/security/cert/X509Certificate;
0 11 2 authType Ljava/lang/String;
0 11 3 socket Ljava/net/Socket;
2 8 4 sslSocket Ljavax/net/ssl/SSLSocket;
3 8 5 session Ljavax/net/ssl/SSLSession;
6 8 6 host Ljava/lang/String;
7 8 7 config Landroid/security/net/config/NetworkSecurityConfig;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
certs
authType
socket
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=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual javax.net.ssl.SSLEngine.getHandshakeSession:()Ljavax/net/ssl/SSLSession;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: new java.security.cert.CertificateException
dup
ldc "Not in handshake; no session available"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.net.ssl.SSLSession
StackMap stack:
aload 4
invokeinterface javax.net.ssl.SSLSession.getPeerHost:()Ljava/lang/String;
astore 5
start local 5 4: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
aload 5
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 6
start local 6 5: aload 6
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
aload 1
aload 2
aload 3
invokevirtual android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V
6: return
end local 6 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 7 0 this Landroid/security/net/config/RootTrustManager;
0 7 1 certs [Ljava/security/cert/X509Certificate;
0 7 2 authType Ljava/lang/String;
0 7 3 engine Ljavax/net/ssl/SSLEngine;
1 7 4 session Ljavax/net/ssl/SSLSession;
4 7 5 host Ljava/lang/String;
5 7 6 config Landroid/security/net/config/NetworkSecurityConfig;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
certs
authType
engine
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=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
invokevirtual android.security.net.config.ApplicationConfig.hasPerDomainConfigs:()Z
ifeq 4
1: new java.security.cert.CertificateException
dup
2: ldc "Domain specific configurations require that hostname aware checkServerTrusted(X509Certificate[], String, String) is used"
3: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
ldc ""
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 3
start local 3 5: aload 3
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
aload 1
aload 2
invokevirtual android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/security/net/config/RootTrustManager;
0 7 1 certs [Ljava/security/cert/X509Certificate;
0 7 2 authType Ljava/lang/String;
5 7 3 config Landroid/security/net/config/NetworkSecurityConfig;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
certs
authType
public java.util.List<java.security.cert.X509Certificate> checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, java.lang.String);
descriptor: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 4
aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
invokevirtual android.security.net.config.ApplicationConfig.hasPerDomainConfigs:()Z
ifeq 4
1: new java.security.cert.CertificateException
dup
2: ldc "Domain specific configurations require that the hostname be provided"
3: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
aload 3
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 4
start local 4 5: aload 4
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
aload 1
aload 2
aload 3
invokevirtual android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/security/net/config/RootTrustManager;
0 6 1 certs [Ljava/security/cert/X509Certificate;
0 6 2 authType Ljava/lang/String;
0 6 3 hostname Ljava/lang/String;
5 6 4 config Landroid/security/net/config/NetworkSecurityConfig;
Exceptions:
throws java.security.cert.CertificateException
Signature: ([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Ljava/security/cert/X509Certificate;>;
MethodParameters:
Name Flags
certs
authType
hostname
public java.security.cert.X509Certificate[] getAcceptedIssuers();
descriptor: ()[Ljava/security/cert/X509Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
ldc ""
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
astore 1
start local 1 1: aload 1
invokevirtual android.security.net.config.NetworkSecurityConfig.getTrustManager:()Landroid/security/net/config/NetworkSecurityTrustManager;
invokevirtual android.security.net.config.NetworkSecurityTrustManager.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/security/net/config/RootTrustManager;
1 2 1 config Landroid/security/net/config/NetworkSecurityConfig;
public boolean isSameTrustConfiguration(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
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 android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
aload 1
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
1: aload 0
getfield android.security.net.config.RootTrustManager.mConfig:Landroid/security/net/config/ApplicationConfig;
aload 2
invokevirtual android.security.net.config.ApplicationConfig.getConfigForHostname:(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
2: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/security/net/config/RootTrustManager;
0 3 1 hostname1 Ljava/lang/String;
0 3 2 hostname2 Ljava/lang/String;
MethodParameters:
Name Flags
hostname1
hostname2
}
SourceFile: "RootTrustManager.java"