public final class sun.security.provider.certpath.OCSP
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.provider.certpath.OCSP
super_class: java.lang.Object
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int CONNECT_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15000
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "certpath"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.provider.certpath.OCSP.debug:Lsun/security/util/Debug;
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/certpath/OCSP;
public static sun.security.provider.certpath.OCSP$RevocationStatus check(java.security.cert.X509Certificate, java.security.cert.X509Certificate, java.net.URI, java.security.cert.X509Certificate, java.util.Date, java.lang.String);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/net/URI;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/lang/String;)Lsun/security/provider/certpath/OCSP$RevocationStatus;
flags: (0x0009) ACC_PUBLIC, 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 2
aconst_null
aload 1
aload 3
aload 4
aload 5
invokestatic sun.security.provider.certpath.OCSP.check:(Ljava/security/cert/X509Certificate;Ljava/net/URI;Ljava/security/cert/TrustAnchor;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/lang/String;)Lsun/security/provider/certpath/OCSP$RevocationStatus;
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 cert Ljava/security/cert/X509Certificate;
0 1 1 issuerCert Ljava/security/cert/X509Certificate;
0 1 2 responderURI Ljava/net/URI;
0 1 3 responderCert Ljava/security/cert/X509Certificate;
0 1 4 date Ljava/util/Date;
0 1 5 variant Ljava/lang/String;
Exceptions:
throws java.io.IOException, java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
cert
issuerCert
responderURI
responderCert
date
variant
public static sun.security.provider.certpath.OCSP$RevocationStatus check(java.security.cert.X509Certificate, java.net.URI, java.security.cert.TrustAnchor, java.security.cert.X509Certificate, java.security.cert.X509Certificate, java.util.Date, java.lang.String);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/net/URI;Ljava/security/cert/TrustAnchor;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/lang/String;)Lsun/security/provider/certpath/OCSP$RevocationStatus;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, 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: aconst_null
astore 7
start local 7 1: aload 0
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
astore 8
start local 8 2: new sun.security.provider.certpath.CertId
dup
aload 3
aload 8
invokevirtual sun.security.x509.X509CertImpl.getSerialNumberObject:()Lsun/security/x509/SerialNumber;
invokespecial sun.security.provider.certpath.CertId.<init>:(Ljava/security/cert/X509Certificate;Lsun/security/x509/SerialNumber;)V
astore 7
end local 8 3: goto 12
StackMap locals: java.security.cert.X509Certificate java.net.URI java.security.cert.TrustAnchor java.security.cert.X509Certificate java.security.cert.X509Certificate java.util.Date java.lang.String sun.security.provider.certpath.CertId
StackMap stack: java.security.cert.CertificateException
4: astore 8
start local 8 5: new java.security.cert.CertPathValidatorException
dup
6: ldc "Exception while encoding OCSPRequest"
aload 8
7: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 8: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 9: new java.security.cert.CertPathValidatorException
dup
10: ldc "Exception while encoding OCSPRequest"
aload 8
11: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 12: StackMap locals:
StackMap stack:
aload 7
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
13: aload 1
new sun.security.provider.certpath.OCSPResponse$IssuerInfo
dup
aload 2
aload 3
invokespecial sun.security.provider.certpath.OCSPResponse$IssuerInfo.<init>:(Ljava/security/cert/TrustAnchor;Ljava/security/cert/X509Certificate;)V
14: aload 4
aload 5
aload 6
15: invokestatic sun.security.provider.certpath.OCSP.check:(Ljava/util/List;Ljava/net/URI;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/lang/String;)Lsun/security/provider/certpath/OCSPResponse;
astore 8
start local 8 16: aload 8
aload 7
invokevirtual sun.security.provider.certpath.OCSPResponse.getSingleResponse:(Lsun/security/provider/certpath/CertId;)Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
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 17 0 cert Ljava/security/cert/X509Certificate;
0 17 1 responderURI Ljava/net/URI;
0 17 2 anchor Ljava/security/cert/TrustAnchor;
0 17 3 issuerCert Ljava/security/cert/X509Certificate;
0 17 4 responderCert Ljava/security/cert/X509Certificate;
0 17 5 date Ljava/util/Date;
0 17 6 variant Ljava/lang/String;
1 17 7 certId Lsun/security/provider/certpath/CertId;
2 3 8 certImpl Lsun/security/x509/X509CertImpl;
5 8 8 ce Ljava/security/cert/CertificateException;
9 12 8 ioe Ljava/io/IOException;
16 17 8 ocspResponse Lsun/security/provider/certpath/OCSPResponse;
Exception table:
from to target type
1 3 4 Class java.security.cert.CertificateException
1 3 8 Class java.io.IOException
Exceptions:
throws java.io.IOException, java.security.cert.CertPathValidatorException
MethodParameters:
Name Flags
cert
responderURI
anchor
issuerCert
responderCert
date
variant
static sun.security.provider.certpath.OCSPResponse check(java.util.List<sun.security.provider.certpath.CertId>, java.net.URI, sun.security.provider.certpath.OCSPResponse$IssuerInfo, java.security.cert.X509Certificate, java.util.Date, java.lang.String);
descriptor: (Ljava/util/List;Ljava/net/URI;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/lang/String;)Lsun/security/provider/certpath/OCSPResponse;
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: aload 0
aload 1
invokestatic sun.security.provider.certpath.OCSP.getOCSPBytes:(Ljava/util/List;Ljava/net/URI;)[B
astore 7
start local 7 2: new sun.security.provider.certpath.OCSPResponse
dup
aload 7
aload 4
aload 3
aload 5
invokespecial sun.security.provider.certpath.OCSPResponse.<init>:([BLjava/util/Date;Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
astore 6
end local 7 3: goto 9
StackMap locals: java.util.List java.net.URI sun.security.provider.certpath.OCSPResponse$IssuerInfo java.security.cert.X509Certificate java.util.Date java.lang.String sun.security.provider.certpath.OCSPResponse
StackMap stack: java.io.IOException
4: astore 7
start local 7 5: new java.security.cert.CertPathValidatorException
dup
6: ldc "Unable to determine revocation status due to network error"
7: aload 7
8: invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 9: StackMap locals:
StackMap stack:
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 10 0 certIds Ljava/util/List<Lsun/security/provider/certpath/CertId;>;
0 10 1 responderURI Ljava/net/URI;
0 10 2 issuerInfo Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
0 10 3 responderCert Ljava/security/cert/X509Certificate;
0 10 4 date Ljava/util/Date;
0 10 5 variant Ljava/lang/String;
1 10 6 ocspResponse Lsun/security/provider/certpath/OCSPResponse;
2 3 7 response [B
5 9 7 ioe Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
Exceptions:
throws java.io.IOException, java.security.cert.CertPathValidatorException
Signature: (Ljava/util/List<Lsun/security/provider/certpath/CertId;>;Ljava/net/URI;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/lang/String;)Lsun/security/provider/certpath/OCSPResponse;
MethodParameters:
Name Flags
certIds
responderURI
issuerInfo
responderCert
date
variant
public static byte[] getOCSPBytes(java.util.List<sun.security.provider.certpath.CertId>, java.net.URI);
descriptor: (Ljava/util/List;Ljava/net/URI;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: new sun.security.provider.certpath.OCSPRequest
dup
aload 0
invokespecial sun.security.provider.certpath.OCSPRequest.<init>:(Ljava/util/List;)V
astore 2
start local 2 1: aload 2
invokevirtual sun.security.provider.certpath.OCSPRequest.encodeBytes:()[B
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aload 1
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
astore 7
start local 7 6: getstatic sun.security.provider.certpath.OCSP.debug:Lsun/security/util/Debug;
ifnull 8
7: getstatic sun.security.provider.certpath.OCSP.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "connecting to OCSP service at: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
8: StackMap locals: java.util.List java.net.URI sun.security.provider.certpath.OCSPRequest byte[] java.io.InputStream java.io.OutputStream byte[] java.net.URL
StackMap stack:
aload 7
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
checkcast java.net.HttpURLConnection
astore 8
start local 8 9: aload 8
sipush 15000
invokevirtual java.net.HttpURLConnection.setConnectTimeout:(I)V
10: aload 8
sipush 15000
invokevirtual java.net.HttpURLConnection.setReadTimeout:(I)V
11: aload 8
iconst_1
invokevirtual java.net.HttpURLConnection.setDoOutput:(Z)V
12: aload 8
iconst_1
invokevirtual java.net.HttpURLConnection.setDoInput:(Z)V
13: aload 8
ldc "POST"
invokevirtual java.net.HttpURLConnection.setRequestMethod:(Ljava/lang/String;)V
14: aload 8
15: ldc "Content-type"
ldc "application/ocsp-request"
16: invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
17: aload 8
18: ldc "Content-length"
aload 3
arraylength
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
19: invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
20: aload 8
invokevirtual java.net.HttpURLConnection.getOutputStream:()Ljava/io/OutputStream;
astore 5
21: aload 5
aload 3
invokevirtual java.io.OutputStream.write:([B)V
22: aload 5
invokevirtual java.io.OutputStream.flush:()V
23: getstatic sun.security.provider.certpath.OCSP.debug:Lsun/security/util/Debug;
ifnull 28
24: aload 8
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
sipush 200
if_icmpeq 28
25: getstatic sun.security.provider.certpath.OCSP.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Received HTTP error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
26: ldc " - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.net.HttpURLConnection.getResponseMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
28: StackMap locals: java.net.HttpURLConnection
StackMap stack:
aload 8
invokevirtual java.net.HttpURLConnection.getInputStream:()Ljava/io/InputStream;
astore 4
29: aload 8
invokevirtual java.net.HttpURLConnection.getContentLength:()I
istore 9
start local 9 30: iload 9
iconst_m1
if_icmpne 32
31: ldc 2147483647
istore 9
32: StackMap locals: int
StackMap stack:
iload 9
sipush 2048
if_icmple 33
sipush 2048
goto 34
StackMap locals:
StackMap stack:
33: iload 9
StackMap locals:
StackMap stack: int
34: newarray 8
astore 6
35: iconst_0
istore 10
start local 10 36: goto 43
37: StackMap locals: int
StackMap stack:
aload 4
aload 6
iload 10
aload 6
arraylength
iload 10
isub
invokevirtual java.io.InputStream.read:([BII)I
istore 11
start local 11 38: iload 11
ifge 40
39: goto 44
40: StackMap locals: int
StackMap stack:
iload 10
iload 11
iadd
istore 10
41: iload 10
aload 6
arraylength
if_icmplt 43
iload 10
iload 9
if_icmpge 43
42: aload 6
iload 10
iconst_2
imul
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 6
end local 11 43: StackMap locals:
StackMap stack:
iload 10
iload 9
if_icmplt 37
44: StackMap locals:
StackMap stack:
aload 6
iload 10
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 6
end local 10 end local 9 end local 8 end local 7 45: goto 58
StackMap locals: java.util.List java.net.URI sun.security.provider.certpath.OCSPRequest byte[] java.io.InputStream java.io.OutputStream byte[]
StackMap stack: java.lang.Throwable
46: astore 12
47: aload 4
ifnull 52
48: aload 4
invokevirtual java.io.InputStream.close:()V
49: goto 52
StackMap locals: java.util.List java.net.URI sun.security.provider.certpath.OCSPRequest byte[] java.io.InputStream java.io.OutputStream byte[] top top top top top java.lang.Throwable
StackMap stack: java.io.IOException
50: astore 13
start local 13 51: aload 13
athrow
end local 13 52: StackMap locals:
StackMap stack:
aload 5
ifnull 57
53: aload 5
invokevirtual java.io.OutputStream.close:()V
54: goto 57
StackMap locals:
StackMap stack: java.io.IOException
55: astore 13
start local 13 56: aload 13
athrow
end local 13 57: StackMap locals:
StackMap stack:
aload 12
athrow
58: StackMap locals: java.util.List java.net.URI sun.security.provider.certpath.OCSPRequest byte[] java.io.InputStream java.io.OutputStream byte[]
StackMap stack:
aload 4
ifnull 63
59: aload 4
invokevirtual java.io.InputStream.close:()V
60: goto 63
StackMap locals:
StackMap stack: java.io.IOException
61: astore 13
start local 13 62: aload 13
athrow
end local 13 63: StackMap locals:
StackMap stack:
aload 5
ifnull 68
64: aload 5
invokevirtual java.io.OutputStream.close:()V
65: goto 68
StackMap locals:
StackMap stack: java.io.IOException
66: astore 13
start local 13 67: aload 13
athrow
end local 13 68: StackMap locals:
StackMap stack:
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 69 0 certIds Ljava/util/List<Lsun/security/provider/certpath/CertId;>;
0 69 1 responderURI Ljava/net/URI;
1 69 2 request Lsun/security/provider/certpath/OCSPRequest;
2 69 3 bytes [B
3 69 4 in Ljava/io/InputStream;
4 69 5 out Ljava/io/OutputStream;
5 69 6 response [B
6 45 7 url Ljava/net/URL;
9 45 8 con Ljava/net/HttpURLConnection;
30 45 9 contentLength I
36 45 10 total I
38 43 11 count I
51 52 13 ioe Ljava/io/IOException;
62 63 13 ioe Ljava/io/IOException;
56 57 13 ioe Ljava/io/IOException;
67 68 13 ioe Ljava/io/IOException;
Exception table:
from to target type
5 46 46 any
48 49 50 Class java.io.IOException
53 54 55 Class java.io.IOException
59 60 61 Class java.io.IOException
64 65 66 Class java.io.IOException
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/List<Lsun/security/provider/certpath/CertId;>;Ljava/net/URI;)[B
MethodParameters:
Name Flags
certIds
responderURI
public static java.net.URI getResponderURI(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/net/URI;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
invokestatic sun.security.provider.certpath.OCSP.getResponderURI:(Lsun/security/x509/X509CertImpl;)Ljava/net/URI;
1: areturn
2: StackMap locals:
StackMap stack: java.security.cert.CertificateException
pop
3: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cert Ljava/security/cert/X509Certificate;
Exception table:
from to target type
0 1 2 Class java.security.cert.CertificateException
MethodParameters:
Name Flags
cert
static java.net.URI getResponderURI(sun.security.x509.X509CertImpl);
descriptor: (Lsun/security/x509/X509CertImpl;)Ljava/net/URI;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.x509.X509CertImpl.getAuthorityInfoAccessExtension:()Lsun/security/x509/AuthorityInfoAccessExtension;
1: astore 1
start local 1 2: aload 1
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: sun.security.x509.AuthorityInfoAccessExtension
StackMap stack:
aload 1
invokevirtual sun.security.x509.AuthorityInfoAccessExtension.getAccessDescriptions:()Ljava/util/List;
astore 2
start local 2 5: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.AuthorityInfoAccessExtension java.util.List top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.AccessDescription
astore 3
start local 3 7: aload 3
invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
8: getstatic sun.security.x509.AccessDescription.Ad_OCSP_Id:Lsun/security/util/ObjectIdentifier;
9: invokevirtual sun.security.util.ObjectIdentifier.equals:(Lsun/security/util/ObjectIdentifier;)Z
10: ifeq 15
11: aload 3
invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
astore 5
start local 5 12: aload 5
invokevirtual sun.security.x509.GeneralName.getType:()I
bipush 6
if_icmpne 15
13: aload 5
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.URIName
astore 6
start local 6 14: aload 6
invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
areturn
end local 6 end local 5 end local 3 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 certImpl Lsun/security/x509/X509CertImpl;
2 17 1 aia Lsun/security/x509/AuthorityInfoAccessExtension;
5 17 2 descriptions Ljava/util/List<Lsun/security/x509/AccessDescription;>;
7 15 3 description Lsun/security/x509/AccessDescription;
12 15 5 generalName Lsun/security/x509/GeneralName;
14 15 6 uri Lsun/security/x509/URIName;
MethodParameters:
Name Flags
certImpl
}
SourceFile: "OCSP.java"
NestMembers:
sun.security.provider.certpath.OCSP$RevocationStatus sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus sun.security.provider.certpath.OCSP$RevocationStatus$Reason
InnerClasses:
public abstract RevocationStatus = sun.security.provider.certpath.OCSP$RevocationStatus of sun.security.provider.certpath.OCSP
final IssuerInfo = sun.security.provider.certpath.OCSPResponse$IssuerInfo of sun.security.provider.certpath.OCSPResponse
public final SingleResponse = sun.security.provider.certpath.OCSPResponse$SingleResponse of sun.security.provider.certpath.OCSPResponse