final class sun.net.www.protocol.https.HttpsClient extends sun.net.www.http.HttpClient implements javax.net.ssl.HandshakeCompletedListener
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.net.www.protocol.https.HttpsClient
super_class: sun.net.www.http.HttpClient
{
private static final int httpsPortNumber;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 443
private javax.net.ssl.HostnameVerifier hv;
descriptor: Ljavax/net/ssl/HostnameVerifier;
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLSocketFactory sslSocketFactory;
descriptor: Ljavax/net/ssl/SSLSocketFactory;
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLSession session;
descriptor: Ljavax/net/ssl/SSLSession;
flags: (0x0002) ACC_PRIVATE
protected int getDefaultPort();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: sipush 443
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/https/HttpsClient;
private java.lang.String[] getCipherSuites();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: new sun.security.action.GetPropertyAction
dup
ldc "https.cipherSuites"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aload 2
ifnull 3
ldc ""
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: StackMap locals: sun.net.www.protocol.https.HttpsClient top java.lang.String
StackMap stack:
aconst_null
astore 1
start local 1 4: goto 16
end local 1 5: StackMap locals:
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 4
start local 4 6: new java.util.StringTokenizer
dup
aload 2
ldc ","
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 3
start local 3 7: goto 9
8: StackMap locals: java.util.StringTokenizer java.util.Vector
StackMap stack:
aload 4
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 8
10: aload 4
invokevirtual java.util.Vector.size:()I
anewarray java.lang.String
astore 1
start local 1 11: iconst_0
istore 5
start local 5 12: goto 15
13: StackMap locals: sun.net.www.protocol.https.HttpsClient java.lang.String[] java.lang.String java.util.StringTokenizer java.util.Vector int
StackMap stack:
aload 1
iload 5
aload 4
iload 5
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.String
aastore
14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
aload 1
arraylength
if_icmplt 13
end local 5 end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/net/www/protocol/https/HttpsClient;
4 5 1 ciphers [Ljava/lang/String;
11 17 1 ciphers [Ljava/lang/String;
2 17 2 cipherString Ljava/lang/String;
7 16 3 tokenizer Ljava/util/StringTokenizer;
6 16 4 v Ljava/util/Vector<Ljava/lang/String;>;
12 16 5 i I
private java.lang.String[] getProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: new sun.security.action.GetPropertyAction
dup
ldc "https.protocols"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 2: aload 2
ifnull 3
ldc ""
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: StackMap locals: sun.net.www.protocol.https.HttpsClient top java.lang.String
StackMap stack:
aconst_null
astore 1
start local 1 4: goto 16
end local 1 5: StackMap locals:
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 4
start local 4 6: new java.util.StringTokenizer
dup
aload 2
ldc ","
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 3
start local 3 7: goto 9
8: StackMap locals: java.util.StringTokenizer java.util.Vector
StackMap stack:
aload 4
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 8
10: aload 4
invokevirtual java.util.Vector.size:()I
anewarray java.lang.String
astore 1
start local 1 11: iconst_0
istore 5
start local 5 12: goto 15
13: StackMap locals: sun.net.www.protocol.https.HttpsClient java.lang.String[] java.lang.String java.util.StringTokenizer java.util.Vector int
StackMap stack:
aload 1
iload 5
aload 4
iload 5
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.String
aastore
14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
aload 1
arraylength
if_icmplt 13
end local 5 end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/net/www/protocol/https/HttpsClient;
4 5 1 protocols [Ljava/lang/String;
11 17 1 protocols [Ljava/lang/String;
2 17 2 protocolString Ljava/lang/String;
7 16 3 tokenizer Ljava/util/StringTokenizer;
6 16 4 v Ljava/util/Vector<Ljava/lang/String;>;
12 16 5 i I
private java.lang.String getUserAgent();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: new sun.security.action.GetPropertyAction
dup
ldc "https.agent"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
invokevirtual java.lang.String.length:()I
ifne 4
3: StackMap locals: java.lang.String
StackMap stack:
ldc "JSSE"
astore 1
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/net/www/protocol/https/HttpsClient;
2 5 1 userAgent Ljava/lang/String;
private static java.net.Proxy newHttpProxy(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/net/Proxy;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
astore 3
start local 3 2: iload 1
ifge 3
sipush 443
goto 4
StackMap locals: java.net.InetSocketAddress java.lang.String
StackMap stack:
3: iload 1
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: new sun.net.www.protocol.https.HttpsClient$1
dup
6: aload 3
iload 4
invokespecial sun.net.www.protocol.https.HttpsClient$1.<init>:(Ljava/lang/String;I)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.net.InetSocketAddress
astore 2
7: goto 9
StackMap locals: java.lang.String int java.net.InetSocketAddress java.lang.String int
StackMap stack: java.security.PrivilegedActionException
8: pop
9: StackMap locals:
StackMap stack:
new java.net.Proxy
dup
getstatic java.net.Proxy$Type.HTTP:Ljava/net/Proxy$Type;
aload 2
invokespecial java.net.Proxy.<init>:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 proxyHost Ljava/lang/String;
0 10 1 proxyPort I
1 10 2 saddr Ljava/net/InetSocketAddress;
2 10 3 phost Ljava/lang/String;
5 10 4 pport I
Exception table:
from to target type
5 7 8 Class java.security.PrivilegedActionException
MethodParameters:
Name Flags
proxyHost
proxyPort
private void <init>(javax.net.ssl.SSLSocketFactory, java.net.URL);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
iconst_m1
invokespecial sun.net.www.protocol.https.HttpsClient.<init>:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/lang/String;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/protocol/https/HttpsClient;
0 2 1 sf Ljavax/net/ssl/SSLSocketFactory;
0 2 2 url Ljava/net/URL;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
void <init>(javax.net.ssl.SSLSocketFactory, java.net.URL, java.lang.String, int);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
iload 4
iconst_m1
invokespecial sun.net.www.protocol.https.HttpsClient.<init>:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/lang/String;II)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/protocol/https/HttpsClient;
0 2 1 sf Ljavax/net/ssl/SSLSocketFactory;
0 2 2 url Ljava/net/URL;
0 2 3 proxyHost Ljava/lang/String;
0 2 4 proxyPort I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
proxyHost
proxyPort
void <init>(javax.net.ssl.SSLSocketFactory, java.net.URL, java.lang.String, int, int);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/lang/String;II)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
1: aload 3
ifnonnull 2
aconst_null
goto 3
2: StackMap locals: uninitialized-this javax.net.ssl.SSLSocketFactory java.net.URL java.lang.String int int
StackMap stack: uninitialized-this javax.net.ssl.SSLSocketFactory java.net.URL
aload 3
iload 4
invokestatic sun.net.www.protocol.https.HttpsClient.newHttpProxy:(Ljava/lang/String;I)Ljava/net/Proxy;
3: StackMap locals: uninitialized-this javax.net.ssl.SSLSocketFactory java.net.URL java.lang.String int int
StackMap stack: uninitialized-this javax.net.ssl.SSLSocketFactory java.net.URL java.net.Proxy
iload 5
invokespecial sun.net.www.protocol.https.HttpsClient.<init>:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/net/Proxy;I)V
4: 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 5 0 this Lsun/net/www/protocol/https/HttpsClient;
0 5 1 sf Ljavax/net/ssl/SSLSocketFactory;
0 5 2 url Ljava/net/URL;
0 5 3 proxyHost Ljava/lang/String;
0 5 4 proxyPort I
0 5 5 connectTimeout I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
proxyHost
proxyPort
connectTimeout
void <init>(javax.net.ssl.SSLSocketFactory, java.net.URL, java.net.Proxy, int);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/net/Proxy;I)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial sun.net.www.http.HttpClient.<init>:()V
1: aload 0
aload 3
putfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
2: aload 0
aload 1
invokevirtual sun.net.www.protocol.https.HttpsClient.setSSLSocketFactory:(Ljavax/net/ssl/SSLSocketFactory;)V
3: aload 0
iconst_1
putfield sun.net.www.protocol.https.HttpsClient.proxyDisabled:Z
4: aload 0
aload 2
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
putfield sun.net.www.protocol.https.HttpsClient.host:Ljava/lang/String;
5: aload 0
aload 2
putfield sun.net.www.protocol.https.HttpsClient.url:Ljava/net/URL;
6: aload 0
aload 2
invokevirtual java.net.URL.getPort:()I
putfield sun.net.www.protocol.https.HttpsClient.port:I
7: aload 0
getfield sun.net.www.protocol.https.HttpsClient.port:I
iconst_m1
if_icmpne 9
8: aload 0
aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.getDefaultPort:()I
putfield sun.net.www.protocol.https.HttpsClient.port:I
9: StackMap locals: sun.net.www.protocol.https.HttpsClient javax.net.ssl.SSLSocketFactory java.net.URL java.net.Proxy int
StackMap stack:
aload 0
iload 4
invokevirtual sun.net.www.protocol.https.HttpsClient.setConnectTimeout:(I)V
10: aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.openServer:()V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/net/www/protocol/https/HttpsClient;
0 12 1 sf Ljavax/net/ssl/SSLSocketFactory;
0 12 2 url Ljava/net/URL;
0 12 3 proxy Ljava/net/Proxy;
0 12 4 connectTimeout I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
proxy
connectTimeout
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Z)Lsun/net/www/http/HttpClient;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 1 1 url Ljava/net/URL;
0 1 2 hv Ljavax/net/ssl/HostnameVerifier;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, boolean);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Z)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aconst_null
iconst_m1
iload 3
invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZ)Lsun/net/www/http/HttpClient;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 1 1 url Ljava/net/URL;
0 1 2 hv Ljavax/net/ssl/HostnameVerifier;
0 1 3 useCache Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
useCache
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.lang.String, int);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;I)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
iload 4
iconst_1
invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZ)Lsun/net/www/http/HttpClient;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 1 1 url Ljava/net/URL;
0 1 2 hv Ljavax/net/ssl/HostnameVerifier;
0 1 3 proxyHost Ljava/lang/String;
0 1 4 proxyPort I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
proxyHost
proxyPort
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.lang.String, int, boolean);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZ)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
iload 4
iload 5
iconst_m1
invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZI)Lsun/net/www/http/HttpClient;
areturn
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 1 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 1 1 url Ljava/net/URL;
0 1 2 hv Ljavax/net/ssl/HostnameVerifier;
0 1 3 proxyHost Ljava/lang/String;
0 1 4 proxyPort I
0 1 5 useCache Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
proxyHost
proxyPort
useCache
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.lang.String, int, boolean, int);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZI)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
1: aload 3
ifnonnull 2
aconst_null
goto 3
2: StackMap locals: javax.net.ssl.SSLSocketFactory java.net.URL javax.net.ssl.HostnameVerifier java.lang.String int int int
StackMap stack: javax.net.ssl.SSLSocketFactory java.net.URL javax.net.ssl.HostnameVerifier
aload 3
iload 4
invokestatic sun.net.www.protocol.https.HttpsClient.newHttpProxy:(Ljava/lang/String;I)Ljava/net/Proxy;
3: StackMap locals: javax.net.ssl.SSLSocketFactory java.net.URL javax.net.ssl.HostnameVerifier java.lang.String int int int
StackMap stack: javax.net.ssl.SSLSocketFactory java.net.URL javax.net.ssl.HostnameVerifier java.net.Proxy
iload 5
iload 6
4: invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/net/Proxy;ZI)Lsun/net/www/http/HttpClient;
areturn
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 5 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 5 1 url Ljava/net/URL;
0 5 2 hv Ljavax/net/ssl/HostnameVerifier;
0 5 3 proxyHost Ljava/lang/String;
0 5 4 proxyPort I
0 5 5 useCache Z
0 5 6 connectTimeout I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
proxyHost
proxyPort
useCache
connectTimeout
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.net.Proxy, boolean, int);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/net/Proxy;ZI)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aconst_null
astore 6
start local 6 1: iload 4
ifeq 5
2: getstatic sun.net.www.protocol.https.HttpsClient.kac:Lsun/net/www/http/KeepAliveCache;
aload 1
aload 0
invokevirtual sun.net.www.http.KeepAliveCache.get:(Ljava/net/URL;Ljava/lang/Object;)Lsun/net/www/http/HttpClient;
checkcast sun.net.www.protocol.https.HttpsClient
astore 6
3: aload 6
ifnull 5
4: aload 6
iconst_1
putfield sun.net.www.protocol.https.HttpsClient.cachedHttpClient:Z
5: StackMap locals: sun.net.www.protocol.https.HttpsClient
StackMap stack:
aload 6
ifnonnull 8
6: new sun.net.www.protocol.https.HttpsClient
dup
aload 0
aload 1
aload 3
iload 5
invokespecial sun.net.www.protocol.https.HttpsClient.<init>:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/net/Proxy;I)V
astore 6
7: goto 12
8: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 7
start local 7 9: aload 7
ifnull 11
10: aload 7
aload 1
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
aload 1
invokevirtual java.net.URL.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
11: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 6
aload 1
putfield sun.net.www.protocol.https.HttpsClient.url:Ljava/net/URL;
end local 7 12: StackMap locals:
StackMap stack:
aload 6
aload 2
invokevirtual sun.net.www.protocol.https.HttpsClient.setHostnameVerifier:(Ljavax/net/ssl/HostnameVerifier;)V
13: aload 6
areturn
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 14 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 14 1 url Ljava/net/URL;
0 14 2 hv Ljavax/net/ssl/HostnameVerifier;
0 14 3 p Ljava/net/Proxy;
0 14 4 useCache Z
0 14 5 connectTimeout I
1 14 6 ret Lsun/net/www/protocol/https/HttpsClient;
9 12 7 security Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
p
useCache
connectTimeout
void setHostnameVerifier(javax.net.ssl.HostnameVerifier);
descriptor: (Ljavax/net/ssl/HostnameVerifier;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.net.www.protocol.https.HttpsClient.hv:Ljavax/net/ssl/HostnameVerifier;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/protocol/https/HttpsClient;
0 2 1 hv Ljavax/net/ssl/HostnameVerifier;
MethodParameters:
Name Flags
hv
void setSSLSocketFactory(javax.net.ssl.SSLSocketFactory);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.net.www.protocol.https.HttpsClient.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/protocol/https/HttpsClient;
0 2 1 sf Ljavax/net/ssl/SSLSocketFactory;
MethodParameters:
Name Flags
sf
javax.net.ssl.SSLSocketFactory getSSLSocketFactory();
descriptor: ()Ljavax/net/ssl/SSLSocketFactory;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/https/HttpsClient;
protected java.net.Socket createSocket();
descriptor: ()Ljava/net/Socket;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:()Ljava/net/Socket;
1: areturn
2: StackMap locals:
StackMap stack: java.net.SocketException
astore 1
start local 1 3: aload 1
invokevirtual java.net.SocketException.getCause:()Ljava/lang/Throwable;
astore 2
start local 2 4: aload 2
ifnull 6
aload 2
instanceof java.lang.UnsupportedOperationException
ifeq 6
5: aload 0
invokespecial sun.net.www.http.HttpClient.createSocket:()Ljava/net/Socket;
areturn
6: StackMap locals: java.net.SocketException java.lang.Throwable
StackMap stack:
aload 1
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/net/www/protocol/https/HttpsClient;
3 7 1 se Ljava/net/SocketException;
4 7 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.net.SocketException
Exceptions:
throws java.io.IOException
public boolean needsTunneling();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
ifnull 3
aload 0
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.DIRECT:Ljava/net/Proxy$Type;
if_acmpeq 3
1: aload 0
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/net/www/protocol/https/HttpsClient;
public void afterConnect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.isCachedConnection:()Z
ifne 42
1: aconst_null
astore 1
start local 1 2: aload 0
getfield sun.net.www.protocol.https.HttpsClient.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
astore 2
start local 2 3: aload 0
getfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
instanceof javax.net.ssl.SSLSocket
ifne 8
4: aload 2
aload 0
getfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
5: aload 0
getfield sun.net.www.protocol.https.HttpsClient.host:Ljava/lang/String;
aload 0
getfield sun.net.www.protocol.https.HttpsClient.port:I
iconst_1
6: invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
checkcast javax.net.ssl.SSLSocket
astore 1
7: goto 17
8: StackMap locals: javax.net.ssl.SSLSocket javax.net.ssl.SSLSocketFactory
StackMap stack:
aload 0
getfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
checkcast javax.net.ssl.SSLSocket
astore 1
9: aload 1
instanceof sun.security.ssl.SSLSocketImpl
ifeq 17
10: aload 1
checkcast sun.security.ssl.SSLSocketImpl
aload 0
getfield sun.net.www.protocol.https.HttpsClient.host:Ljava/lang/String;
invokevirtual sun.security.ssl.SSLSocketImpl.setHost:(Ljava/lang/String;)V
11: goto 17
StackMap locals:
StackMap stack: java.io.IOException
12: astore 3
start local 3 13: aload 2
aload 0
getfield sun.net.www.protocol.https.HttpsClient.host:Ljava/lang/String;
aload 0
getfield sun.net.www.protocol.https.HttpsClient.port:I
invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
checkcast javax.net.ssl.SSLSocket
astore 1
14: goto 17
StackMap locals: sun.net.www.protocol.https.HttpsClient javax.net.ssl.SSLSocket javax.net.ssl.SSLSocketFactory java.io.IOException
StackMap stack: java.io.IOException
15: pop
16: aload 3
athrow
end local 3 17: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.getProtocols:()[Ljava/lang/String;
astore 3
start local 3 18: aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.getCipherSuites:()[Ljava/lang/String;
astore 4
start local 4 19: aload 3
ifnull 21
20: aload 1
aload 3
invokevirtual javax.net.ssl.SSLSocket.setEnabledProtocols:([Ljava/lang/String;)V
21: StackMap locals: java.lang.String[] java.lang.String[]
StackMap stack:
aload 4
ifnull 23
22: aload 1
aload 4
invokevirtual javax.net.ssl.SSLSocket.setEnabledCipherSuites:([Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual javax.net.ssl.SSLSocket.addHandshakeCompletedListener:(Ljavax/net/ssl/HandshakeCompletedListener;)V
24: iconst_0
istore 5
start local 5 25: aload 0
getfield sun.net.www.protocol.https.HttpsClient.hv:Ljavax/net/ssl/HostnameVerifier;
instanceof sun.net.www.protocol.https.DefaultHostnameVerifier
ifeq 29
26: aload 1
instanceof sun.security.ssl.SSLSocketImpl
ifeq 29
27: aload 1
checkcast sun.security.ssl.SSLSocketImpl
ldc "HTTPS"
invokevirtual sun.security.ssl.SSLSocketImpl.trySetHostnameVerification:(Ljava/lang/String;)Z
ifeq 29
28: iconst_1
istore 5
29: StackMap locals: int
StackMap stack:
aload 1
invokevirtual javax.net.ssl.SSLSocket.startHandshake:()V
30: aload 0
aload 1
invokevirtual javax.net.ssl.SSLSocket.getSession:()Ljavax/net/ssl/SSLSession;
putfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
31: aload 0
aload 1
putfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
32: aload 0
new java.io.PrintStream
dup
33: new java.io.BufferedOutputStream
dup
aload 0
getfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
34: iconst_0
getstatic sun.net.www.protocol.https.HttpsClient.encoding:Ljava/lang/String;
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;ZLjava/lang/String;)V
35: putfield sun.net.www.protocol.https.HttpsClient.serverOutput:Ljava/io/PrintStream;
36: goto 39
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
37: pop
38: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
getstatic sun.net.www.protocol.https.HttpsClient.encoding:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " encoding not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
iload 5
ifne 43
40: aload 0
aload 0
getfield sun.net.www.protocol.https.HttpsClient.hv:Ljavax/net/ssl/HostnameVerifier;
invokevirtual sun.net.www.protocol.https.HttpsClient.checkURLSpoofing:(Ljavax/net/ssl/HostnameVerifier;)V
end local 5 end local 4 end local 3 end local 2 end local 1 41: goto 43
42: StackMap locals: sun.net.www.protocol.https.HttpsClient
StackMap stack:
aload 0
aload 0
getfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
checkcast javax.net.ssl.SSLSocket
invokevirtual javax.net.ssl.SSLSocket.getSession:()Ljavax/net/ssl/SSLSession;
putfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
43: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/net/www/protocol/https/HttpsClient;
2 41 1 s Ljavax/net/ssl/SSLSocket;
3 41 2 factory Ljavax/net/ssl/SSLSocketFactory;
13 17 3 ex Ljava/io/IOException;
18 41 3 protocols [Ljava/lang/String;
19 41 4 ciphers [Ljava/lang/String;
25 41 5 enabledIdentification Z
Exception table:
from to target type
3 11 12 Class java.io.IOException
13 14 15 Class java.io.IOException
32 36 37 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.io.IOException, java.net.UnknownHostException
private void checkURLSpoofing(javax.net.ssl.HostnameVerifier);
descriptor: (Ljavax/net/ssl/HostnameVerifier;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.url:Ljava/net/URL;
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
aload 2
ldc "]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 2
iconst_1
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 3
start local 3 4: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getCipherSuite:()Ljava/lang/String;
astore 4
start local 4 5: iconst_1
6: invokestatic sun.security.util.HostnameChecker.getInstance:(B)Lsun/security/util/HostnameChecker;
astore 5
start local 5 7: aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.getPeerPrincipal:()Ljava/security/Principal;
astore 6
start local 6 8: aload 4
ldc "TLS_KRB5"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 12
9: aload 6
instanceof javax.security.auth.kerberos.KerberosPrincipal
ifeq 12
10: aload 2
aload 6
checkcast javax.security.auth.kerberos.KerberosPrincipal
invokestatic sun.security.util.HostnameChecker.match:(Ljava/lang/String;Ljavax/security/auth/kerberos/KerberosPrincipal;)Z
ifne 19
11: new javax.net.ssl.SSLPeerUnverifiedException
dup
ldc "Hostname checker failed for Kerberos"
invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: sun.net.www.protocol.https.HttpsClient javax.net.ssl.HostnameVerifier java.lang.String java.security.cert.Certificate[] java.lang.String sun.security.util.HostnameChecker java.security.Principal
StackMap stack:
aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPeerCertificates:()[Ljava/security/cert/Certificate;
astore 3
13: aload 3
iconst_0
aaload
instanceof java.security.cert.X509Certificate
14: ifeq 17
15: aload 3
iconst_0
aaload
checkcast java.security.cert.X509Certificate
astore 7
start local 7 16: goto 18
end local 7 17: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLPeerUnverifiedException
dup
ldc ""
invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
athrow
start local 7 18: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 5
aload 2
aload 7
invokevirtual sun.security.util.HostnameChecker.match:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
end local 7 19: StackMap locals:
StackMap stack:
return
end local 6 end local 5 20: StackMap locals: sun.net.www.protocol.https.HttpsClient javax.net.ssl.HostnameVerifier java.lang.String java.security.cert.Certificate[] java.lang.String
StackMap stack: javax.net.ssl.SSLPeerUnverifiedException
pop
goto 22
21: StackMap locals:
StackMap stack: java.security.cert.CertificateException
pop
22: StackMap locals:
StackMap stack:
aload 4
ifnull 24
aload 4
ldc "_anon_"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 24
23: return
24: StackMap locals:
StackMap stack:
aload 1
ifnull 27
25: aload 1
aload 2
aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.HostnameVerifier.verify:(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
ifeq 27
26: return
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
28: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.invalidate:()V
29: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "HTTPS hostname wrong: should be <"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 0
getfield sun.net.www.protocol.https.HttpsClient.url:Ljava/net/URL;
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/net/www/protocol/https/HttpsClient;
0 32 1 hostnameVerifier Ljavax/net/ssl/HostnameVerifier;
1 32 2 host Ljava/lang/String;
4 32 3 peerCerts [Ljava/security/cert/Certificate;
5 32 4 cipher Ljava/lang/String;
7 20 5 checker Lsun/security/util/HostnameChecker;
8 20 6 principal Ljava/security/Principal;
16 17 7 peerCert Ljava/security/cert/X509Certificate;
18 19 7 peerCert Ljava/security/cert/X509Certificate;
Exception table:
from to target type
5 19 20 Class javax.net.ssl.SSLPeerUnverifiedException
5 19 21 Class java.security.cert.CertificateException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hostnameVerifier
protected void putInKeepAliveCache();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.net.www.protocol.https.HttpsClient.kac:Lsun/net/www/http/KeepAliveCache;
aload 0
getfield sun.net.www.protocol.https.HttpsClient.url:Ljava/net/URL;
aload 0
getfield sun.net.www.protocol.https.HttpsClient.sslSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
aload 0
invokevirtual sun.net.www.http.KeepAliveCache.put:(Ljava/net/URL;Ljava/lang/Object;Lsun/net/www/http/HttpClient;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/protocol/https/HttpsClient;
java.lang.String getCipherSuite();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getCipherSuite:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/https/HttpsClient;
public java.security.cert.Certificate[] getLocalCertificates();
descriptor: ()[Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getLocalCertificates:()[Ljava/security/cert/Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/https/HttpsClient;
java.security.cert.Certificate[] getServerCertificates();
descriptor: ()[Ljava/security/cert/Certificate;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPeerCertificates:()[Ljava/security/cert/Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/https/HttpsClient;
Exceptions:
throws javax.net.ssl.SSLPeerUnverifiedException
javax.security.cert.X509Certificate[] getServerCertificateChain();
descriptor: ()[Ljavax/security/cert/X509Certificate;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPeerCertificateChain:()[Ljavax/security/cert/X509Certificate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/protocol/https/HttpsClient;
Exceptions:
throws javax.net.ssl.SSLPeerUnverifiedException
java.security.Principal getPeerPrincipal();
descriptor: ()Ljava/security/Principal;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPeerPrincipal:()Ljava/security/Principal;
astore 1
start local 1 1: goto 6
end local 1 StackMap locals:
StackMap stack: java.lang.AbstractMethodError
2: pop
3: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPeerCertificates:()[Ljava/security/cert/Certificate;
4: astore 2
start local 2 5: aload 2
iconst_0
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 1
end local 2 start local 1 6: StackMap locals: java.security.Principal
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/net/www/protocol/https/HttpsClient;
1 2 1 principal Ljava/security/Principal;
6 7 1 principal Ljava/security/Principal;
5 6 2 certs [Ljava/security/cert/Certificate;
Exception table:
from to target type
0 1 2 Class java.lang.AbstractMethodError
Exceptions:
throws javax.net.ssl.SSLPeerUnverifiedException
java.security.Principal getLocalPrincipal();
descriptor: ()Ljava/security/Principal;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getLocalPrincipal:()Ljava/security/Principal;
astore 1
start local 1 1: goto 8
end local 1 StackMap locals:
StackMap stack: java.lang.AbstractMethodError
2: pop
3: aconst_null
astore 1
start local 1 4: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getLocalCertificates:()[Ljava/security/cert/Certificate;
5: astore 2
start local 2 6: aload 2
ifnull 8
7: aload 2
iconst_0
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 1
end local 2 8: StackMap locals: java.security.Principal
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/net/www/protocol/https/HttpsClient;
1 2 1 principal Ljava/security/Principal;
4 9 1 principal Ljava/security/Principal;
6 8 2 certs [Ljava/security/cert/Certificate;
Exception table:
from to target type
0 1 2 Class java.lang.AbstractMethodError
public void handshakeCompleted(javax.net.ssl.HandshakeCompletedEvent);
descriptor: (Ljavax/net/ssl/HandshakeCompletedEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual javax.net.ssl.HandshakeCompletedEvent.getSession:()Ljavax/net/ssl/SSLSession;
putfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/protocol/https/HttpsClient;
0 2 1 event Ljavax/net/ssl/HandshakeCompletedEvent;
MethodParameters:
Name Flags
event
public java.lang.String getProxyHostUsed();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.needsTunneling:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial sun.net.www.http.HttpClient.getProxyHostUsed:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/protocol/https/HttpsClient;
public int getProxyPortUsed();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
ifnull 2
aload 0
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.DIRECT:Ljava/net/Proxy$Type;
if_acmpeq 2
1: aload 0
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
if_acmpne 3
StackMap locals:
StackMap stack:
2: iconst_m1
goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getPort:()I
4: StackMap locals:
StackMap stack: int
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/net/www/protocol/https/HttpsClient;
}
SourceFile: "HttpsClient.java"
NestMembers:
sun.net.www.protocol.https.HttpsClient$1
InnerClasses:
public final Type = java.net.Proxy$Type of java.net.Proxy
sun.net.www.protocol.https.HttpsClient$1