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 static final java.lang.String defaultHVCanonicalName;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.net.ssl.HttpsURLConnection.DefaultHostnameVerifier"
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
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/net/www/protocol/https/HttpsClient;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.net.www.protocol.https.HttpsClient.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
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 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=6, 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
ldc "https"
invokestatic sun.net.www.http.HttpClient.newHttpProxy:(Ljava/lang/String;ILjava/lang/String;)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=4, locals=6, 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: invokestatic sun.net.www.protocol.http.HttpURLConnection.getHttpLogger:()Lsun/util/logging/PlatformLogger;
astore 5
start local 5 2: aload 5
getstatic sun.util.logging.PlatformLogger$Level.FINEST:Lsun/util/logging/PlatformLogger$Level;
invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
ifeq 6
3: aload 5
new java.lang.StringBuilder
dup
ldc "Creating new HttpsClient with url:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and proxy:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc " with connect timeout:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual sun.util.logging.PlatformLogger.finest:(Ljava/lang/String;)V
6: StackMap locals: sun.net.www.protocol.https.HttpsClient javax.net.ssl.SSLSocketFactory java.net.URL java.net.Proxy int sun.util.logging.PlatformLogger
StackMap stack:
aload 0
aload 3
putfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
7: aload 0
aload 1
invokevirtual sun.net.www.protocol.https.HttpsClient.setSSLSocketFactory:(Ljavax/net/ssl/SSLSocketFactory;)V
8: aload 0
iconst_1
putfield sun.net.www.protocol.https.HttpsClient.proxyDisabled:Z
9: aload 0
aload 2
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
putfield sun.net.www.protocol.https.HttpsClient.host:Ljava/lang/String;
10: aload 0
aload 2
putfield sun.net.www.protocol.https.HttpsClient.url:Ljava/net/URL;
11: aload 0
aload 2
invokevirtual java.net.URL.getPort:()I
putfield sun.net.www.protocol.https.HttpsClient.port:I
12: aload 0
getfield sun.net.www.protocol.https.HttpsClient.port:I
iconst_m1
if_icmpne 14
13: aload 0
aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.getDefaultPort:()I
putfield sun.net.www.protocol.https.HttpsClient.port:I
14: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual sun.net.www.protocol.https.HttpsClient.setConnectTimeout:(I)V
15: aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.openServer:()V
16: 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 17 0 this Lsun/net/www/protocol/https/HttpsClient;
0 17 1 sf Ljavax/net/ssl/SSLSocketFactory;
0 17 2 url Ljava/net/URL;
0 17 3 proxy Ljava/net/Proxy;
0 17 4 connectTimeout I
2 17 5 logger Lsun/util/logging/PlatformLogger;
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, sun.net.www.protocol.http.HttpURLConnection);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Lsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_1
aload 3
invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;ZLsun/net/www/protocol/http/HttpURLConnection;)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 httpuc Lsun/net/www/protocol/http/HttpURLConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
httpuc
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, boolean, sun.net.www.protocol.http.HttpURLConnection);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;ZLsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=7, 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
aconst_null
iconst_m1
iload 3
aload 4
invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZLsun/net/www/protocol/http/HttpURLConnection;)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 useCache Z
0 1 4 httpuc Lsun/net/www/protocol/http/HttpURLConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
useCache
httpuc
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.lang.String, int, sun.net.www.protocol.http.HttpURLConnection);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;ILsun/net/www/protocol/http/HttpURLConnection;)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
iconst_1
aload 5
invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZLsun/net/www/protocol/http/HttpURLConnection;)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 httpuc Lsun/net/www/protocol/http/HttpURLConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
proxyHost
proxyPort
httpuc
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.lang.String, int, boolean, sun.net.www.protocol.http.HttpURLConnection);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZLsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=8, 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
aload 3
iload 4
iload 5
iconst_m1
1: aload 6
2: invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZILsun/net/www/protocol/http/HttpURLConnection;)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 3 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 3 1 url Ljava/net/URL;
0 3 2 hv Ljavax/net/ssl/HostnameVerifier;
0 3 3 proxyHost Ljava/lang/String;
0 3 4 proxyPort I
0 3 5 useCache Z
0 3 6 httpuc Lsun/net/www/protocol/http/HttpURLConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
proxyHost
proxyPort
useCache
httpuc
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.lang.String, int, boolean, int, sun.net.www.protocol.http.HttpURLConnection);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/lang/String;IZILsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 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 sun.net.www.protocol.http.HttpURLConnection
StackMap stack: javax.net.ssl.SSLSocketFactory java.net.URL javax.net.ssl.HostnameVerifier
aload 3
iload 4
ldc "https"
invokestatic sun.net.www.http.HttpClient.newHttpProxy:(Ljava/lang/String;ILjava/lang/String;)Ljava/net/Proxy;
3: StackMap locals: javax.net.ssl.SSLSocketFactory java.net.URL javax.net.ssl.HostnameVerifier java.lang.String int int int sun.net.www.protocol.http.HttpURLConnection
StackMap stack: javax.net.ssl.SSLSocketFactory java.net.URL javax.net.ssl.HostnameVerifier java.net.Proxy
iload 5
iload 6
aload 7
4: invokestatic sun.net.www.protocol.https.HttpsClient.New:(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/net/Proxy;ZILsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;
areturn
end local 7 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
0 5 7 httpuc Lsun/net/www/protocol/http/HttpURLConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
proxyHost
proxyPort
useCache
connectTimeout
httpuc
static sun.net.www.http.HttpClient New(javax.net.ssl.SSLSocketFactory, java.net.URL, javax.net.ssl.HostnameVerifier, java.net.Proxy, boolean, int, sun.net.www.protocol.http.HttpURLConnection);
descriptor: (Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/net/Proxy;ZILsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, 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 3
ifnonnull 2
1: getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
astore 3
2: StackMap locals:
StackMap stack:
invokestatic sun.net.www.protocol.http.HttpURLConnection.getHttpLogger:()Lsun/util/logging/PlatformLogger;
astore 7
start local 7 3: aload 7
getstatic sun.util.logging.PlatformLogger$Level.FINEST:Lsun/util/logging/PlatformLogger$Level;
invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
ifeq 7
4: aload 7
new java.lang.StringBuilder
dup
ldc "Looking for HttpClient for URL "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: ldc " and proxy value of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual sun.util.logging.PlatformLogger.finest:(Ljava/lang/String;)V
7: StackMap locals: sun.util.logging.PlatformLogger
StackMap stack:
aconst_null
astore 8
start local 8 8: iload 4
ifeq 40
9: 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 8
10: aload 8
ifnull 15
aload 6
ifnull 15
11: aload 6
invokevirtual sun.net.www.protocol.http.HttpURLConnection.streaming:()Z
ifeq 15
12: aload 6
invokevirtual sun.net.www.protocol.http.HttpURLConnection.getRequestMethod:()Ljava/lang/String;
ldc "POST"
if_acmpne 15
13: aload 8
invokevirtual sun.net.www.protocol.https.HttpsClient.available:()Z
ifne 15
14: aconst_null
astore 8
15: StackMap locals: sun.net.www.protocol.https.HttpsClient
StackMap stack:
aload 8
ifnull 40
16: aload 8
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
ifnull 17
aload 8
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
aload 3
invokevirtual java.net.Proxy.equals:(Ljava/lang/Object;)Z
ifne 18
17: StackMap locals:
StackMap stack:
aload 8
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
ifnonnull 30
aload 3
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpne 30
18: StackMap locals:
StackMap stack:
aload 8
dup
astore 9
monitorenter
19: aload 8
iconst_1
putfield sun.net.www.protocol.https.HttpsClient.cachedHttpClient:Z
20: getstatic sun.net.www.protocol.https.HttpsClient.$assertionsDisabled:Z
ifne 21
aload 8
getfield sun.net.www.protocol.https.HttpsClient.inCache:Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: sun.net.www.protocol.https.HttpsClient
StackMap stack:
aload 8
iconst_0
putfield sun.net.www.protocol.https.HttpsClient.inCache:Z
22: aload 6
ifnull 24
aload 8
invokevirtual sun.net.www.protocol.https.HttpsClient.needsTunneling:()Z
ifeq 24
23: aload 6
getstatic sun.net.www.protocol.http.HttpURLConnection$TunnelState.TUNNELING:Lsun/net/www/protocol/http/HttpURLConnection$TunnelState;
invokevirtual sun.net.www.protocol.http.HttpURLConnection.setTunnelState:(Lsun/net/www/protocol/http/HttpURLConnection$TunnelState;)V
24: StackMap locals:
StackMap stack:
aload 7
getstatic sun.util.logging.PlatformLogger$Level.FINEST:Lsun/util/logging/PlatformLogger$Level;
invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
ifeq 26
25: aload 7
new java.lang.StringBuilder
dup
ldc "KeepAlive stream retrieved from the cache, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.finest:(Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
aload 9
monitorexit
27: goto 40
StackMap locals:
StackMap stack: java.lang.Throwable
28: aload 9
monitorexit
29: athrow
30: StackMap locals:
StackMap stack:
aload 8
dup
astore 9
monitorenter
31: aload 7
getstatic sun.util.logging.PlatformLogger$Level.FINEST:Lsun/util/logging/PlatformLogger$Level;
invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
ifeq 33
32: aload 7
new java.lang.StringBuilder
dup
ldc "Not returning this connection to cache: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.finest:(Ljava/lang/String;)V
33: StackMap locals: sun.net.www.protocol.https.HttpsClient
StackMap stack:
aload 8
iconst_0
putfield sun.net.www.protocol.https.HttpsClient.inCache:Z
34: aload 8
invokevirtual sun.net.www.protocol.https.HttpsClient.closeServer:()V
35: aload 9
monitorexit
36: goto 39
StackMap locals:
StackMap stack: java.lang.Throwable
37: aload 9
monitorexit
38: athrow
39: StackMap locals:
StackMap stack:
aconst_null
astore 8
40: StackMap locals:
StackMap stack:
aload 8
ifnonnull 43
41: 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 8
42: goto 50
43: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 9
start local 9 44: aload 9
ifnull 49
45: aload 8
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
if_acmpeq 46
aload 8
getfield sun.net.www.protocol.https.HttpsClient.proxy:Ljava/net/Proxy;
ifnonnull 48
46: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 9
aload 1
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
aload 1
invokevirtual java.net.URL.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
47: goto 49
48: StackMap locals:
StackMap stack:
aload 9
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
49: StackMap locals:
StackMap stack:
aload 8
aload 1
putfield sun.net.www.protocol.https.HttpsClient.url:Ljava/net/URL;
end local 9 50: StackMap locals:
StackMap stack:
aload 8
aload 2
invokevirtual sun.net.www.protocol.https.HttpsClient.setHostnameVerifier:(Ljavax/net/ssl/HostnameVerifier;)V
51: aload 8
areturn
end local 8 end local 7 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 52 0 sf Ljavax/net/ssl/SSLSocketFactory;
0 52 1 url Ljava/net/URL;
0 52 2 hv Ljavax/net/ssl/HostnameVerifier;
0 52 3 p Ljava/net/Proxy;
0 52 4 useCache Z
0 52 5 connectTimeout I
0 52 6 httpuc Lsun/net/www/protocol/http/HttpURLConnection;
3 52 7 logger Lsun/util/logging/PlatformLogger;
8 52 8 ret Lsun/net/www/protocol/https/HttpsClient;
44 50 9 security Ljava/lang/SecurityManager;
Exception table:
from to target type
19 27 28 any
28 29 28 any
31 36 37 any
37 38 37 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sf
url
hv
p
useCache
connectTimeout
httpuc
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=9, args_size=1
start local 0 0: aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.isCachedConnection:()Z
ifne 57
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_1
istore 5
start local 5 25: aload 1
invokevirtual javax.net.ssl.SSLSocket.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
invokevirtual javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm:()Ljava/lang/String;
26: astore 6
start local 6 27: aload 6
ifnull 31
aload 6
invokevirtual java.lang.String.length:()I
ifeq 31
28: aload 6
ldc "HTTPS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 44
29: iconst_0
istore 5
30: goto 44
31: StackMap locals: int java.lang.String
StackMap stack:
iconst_0
istore 7
start local 7 32: aload 0
getfield sun.net.www.protocol.https.HttpsClient.hv:Ljavax/net/ssl/HostnameVerifier;
ifnull 38
33: aload 0
getfield sun.net.www.protocol.https.HttpsClient.hv:Ljavax/net/ssl/HostnameVerifier;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
astore 8
start local 8 34: aload 8
ifnull 39
35: aload 8
ldc "javax.net.ssl.HttpsURLConnection.DefaultHostnameVerifier"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 39
36: iconst_1
istore 7
end local 8 37: goto 39
38: StackMap locals: int
StackMap stack:
iconst_1
istore 7
39: StackMap locals:
StackMap stack:
iload 7
ifeq 44
40: aload 1
invokevirtual javax.net.ssl.SSLSocket.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 8
start local 8 41: aload 8
ldc "HTTPS"
invokevirtual javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm:(Ljava/lang/String;)V
42: aload 1
aload 8
invokevirtual javax.net.ssl.SSLSocket.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
43: iconst_0
istore 5
end local 8 end local 7 44: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.net.ssl.SSLSocket.startHandshake:()V
45: 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;
46: aload 0
aload 1
putfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
47: aload 0
new java.io.PrintStream
dup
48: 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
49: 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
50: putfield sun.net.www.protocol.https.HttpsClient.serverOutput:Ljava/io/PrintStream;
51: goto 54
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
52: pop
53: 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
54: StackMap locals:
StackMap stack:
iload 5
ifeq 58
55: 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 6 end local 5 end local 4 end local 3 end local 2 end local 1 56: goto 58
57: 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;
58: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Lsun/net/www/protocol/https/HttpsClient;
2 56 1 s Ljavax/net/ssl/SSLSocket;
3 56 2 factory Ljavax/net/ssl/SSLSocketFactory;
13 17 3 ex Ljava/io/IOException;
18 56 3 protocols [Ljava/lang/String;
19 56 4 ciphers [Ljava/lang/String;
25 56 5 needToCheckSpoofing Z
27 56 6 identification Ljava/lang/String;
32 44 7 isDefaultHostnameVerifier Z
34 37 8 canonicalName Ljava/lang/String;
41 44 8 paramaters Ljavax/net/ssl/SSLParameters;
Exception table:
from to target type
3 11 12 Class java.io.IOException
13 14 15 Class java.io.IOException
47 51 52 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=7, 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 4
ldc "TLS_KRB5"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
8: aload 2
aload 0
invokevirtual sun.net.www.protocol.https.HttpsClient.getPeerPrincipal:()Ljava/security/Principal;
invokestatic sun.security.util.HostnameChecker.match:(Ljava/lang/String;Ljava/security/Principal;)Z
ifne 17
9: new javax.net.ssl.SSLPeerUnverifiedException
dup
ldc "Hostname checker failed for Kerberos"
invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.security.cert.Certificate[] java.lang.String sun.security.util.HostnameChecker
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
11: aload 3
iconst_0
aaload
instanceof java.security.cert.X509Certificate
12: ifeq 15
13: aload 3
iconst_0
aaload
checkcast java.security.cert.X509Certificate
astore 6
start local 6 14: goto 16
end local 6 15: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLPeerUnverifiedException
dup
ldc ""
invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
athrow
start local 6 16: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 5
aload 2
aload 6
invokevirtual sun.security.util.HostnameChecker.match:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
end local 6 17: StackMap locals:
StackMap stack:
return
end local 5 18: 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 20
19: StackMap locals:
StackMap stack: java.security.cert.CertificateException
pop
20: StackMap locals:
StackMap stack:
aload 4
ifnull 22
aload 4
ldc "_anon_"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 22
21: return
22: StackMap locals:
StackMap stack:
aload 1
ifnull 25
23: 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 25
24: return
25: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.protocol.https.HttpsClient.serverSocket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
26: aload 0
getfield sun.net.www.protocol.https.HttpsClient.session:Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.invalidate:()V
27: 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
28: 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;
29: 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 30 0 this Lsun/net/www/protocol/https/HttpsClient;
0 30 1 hostnameVerifier Ljavax/net/ssl/HostnameVerifier;
1 30 2 host Ljava/lang/String;
4 30 3 peerCerts [Ljava/security/cert/Certificate;
5 30 4 cipher Ljava/lang/String;
7 18 5 checker Lsun/security/util/HostnameChecker;
14 15 6 peerCert Ljava/security/cert/X509Certificate;
16 17 6 peerCert Ljava/security/cert/X509Certificate;
Exception table:
from to target type
5 17 18 Class javax.net.ssl.SSLPeerUnverifiedException
5 17 19 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: aload 0
getfield sun.net.www.protocol.https.HttpsClient.inCache:Z
ifeq 3
1: getstatic sun.net.www.protocol.https.HttpsClient.$assertionsDisabled:Z
ifne 2
new java.lang.AssertionError
dup
ldc "Duplicate put to keep alive cache"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.net.www.protocol.https.HttpsClient.inCache:Z
4: 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
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/net/www/protocol/https/HttpsClient;
public void closeIdleConnection();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, 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;
invokevirtual sun.net.www.http.KeepAliveCache.get:(Ljava/net/URL;Ljava/lang/Object;)Lsun/net/www/http/HttpClient;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual sun.net.www.http.HttpClient.closeServer:()V
3: StackMap locals: sun.net.www.http.HttpClient
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/net/www/protocol/https/HttpsClient;
1 4 1 http Lsun/net/www/http/HttpClient;
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"
InnerClasses:
public final Type = java.net.Proxy$Type of java.net.Proxy
public final TunnelState = sun.net.www.protocol.http.HttpURLConnection$TunnelState of sun.net.www.protocol.http.HttpURLConnection
public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger