public class sun.security.provider.X509Factory extends java.security.cert.CertificateFactorySpi
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.provider.X509Factory
super_class: java.security.cert.CertificateFactorySpi
{
public static final java.lang.String BEGIN_CERT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "-----BEGIN CERTIFICATE-----"
public static final java.lang.String END_CERT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "-----END CERTIFICATE-----"
private static final int ENC_MAX_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4194304
private static final sun.security.util.Cache<java.lang.Object, sun.security.x509.X509CertImpl> certCache;
descriptor: Lsun/security/util/Cache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lsun/security/util/Cache<Ljava/lang/Object;Lsun/security/x509/X509CertImpl;>;
private static final sun.security.util.Cache<java.lang.Object, sun.security.x509.X509CRLImpl> crlCache;
descriptor: Lsun/security/util/Cache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lsun/security/util/Cache<Ljava/lang/Object;Lsun/security/x509/X509CRLImpl;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: sipush 750
invokestatic sun.security.util.Cache.newSoftMemoryCache:(I)Lsun/security/util/Cache;
1: putstatic sun.security.provider.X509Factory.certCache:Lsun/security/util/Cache;
2: sipush 750
invokestatic sun.security.util.Cache.newSoftMemoryCache:(I)Lsun/security/util/Cache;
3: putstatic sun.security.provider.X509Factory.crlCache:Lsun/security/util/Cache;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.security.cert.CertificateFactorySpi.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/X509Factory;
public java.security.cert.Certificate engineGenerateCertificate(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 4
1: getstatic sun.security.provider.X509Factory.certCache:Lsun/security/util/Cache;
invokevirtual sun.security.util.Cache.clear:()V
2: invokestatic sun.security.provider.certpath.X509CertificatePair.clearCache:()V
3: new java.security.cert.CertificateException
dup
ldc "Missing input stream"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 2
start local 2 5: aload 2
ifnull 15
6: getstatic sun.security.provider.X509Factory.certCache:Lsun/security/util/Cache;
aload 2
invokestatic sun.security.provider.X509Factory.getFromCache:(Lsun/security/util/Cache;[B)Ljava/lang/Object;
checkcast sun.security.x509.X509CertImpl
astore 3
start local 3 7: aload 3
ifnull 10
8: aload 3
9: areturn
10: StackMap locals: byte[] sun.security.x509.X509CertImpl
StackMap stack:
new sun.security.x509.X509CertImpl
dup
aload 2
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
astore 3
11: getstatic sun.security.provider.X509Factory.certCache:Lsun/security/util/Cache;
aload 3
invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
aload 3
invokestatic sun.security.provider.X509Factory.addToCache:(Lsun/security/util/Cache;[BLjava/lang/Object;)V
12: aload 0
aload 3
invokevirtual sun.security.provider.X509Factory.commitEvent:(Lsun/security/x509/X509CertImpl;)V
13: aload 3
14: areturn
end local 3 15: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Empty input"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 2 16: StackMap locals: sun.security.provider.X509Factory java.io.InputStream
StackMap stack: java.io.IOException
astore 2
start local 2 17: new java.security.cert.CertificateException
dup
new java.lang.StringBuilder
dup
ldc "Could not parse certificate: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 2
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
19: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/provider/X509Factory;
0 20 1 is Ljava/io/InputStream;
5 16 2 encoding [B
7 15 3 cert Lsun/security/x509/X509CertImpl;
17 20 2 ioe Ljava/io/IOException;
Exception table:
from to target type
4 9 16 Class java.io.IOException
10 14 16 Class java.io.IOException
15 16 16 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
is
private static int readFully(java.io.InputStream, java.io.ByteArrayOutputStream, int);
descriptor: (Ljava/io/InputStream;Ljava/io/ByteArrayOutputStream;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: sipush 2048
newarray 8
astore 4
start local 4 2: goto 11
3: StackMap locals: int byte[]
StackMap stack:
aload 0
aload 4
iconst_0
iload 2
sipush 2048
if_icmpge 4
iload 2
goto 5
StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int byte[]
StackMap stack: java.io.InputStream byte[] int
4: sipush 2048
StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int byte[]
StackMap stack: java.io.InputStream byte[] int int
5: invokevirtual java.io.InputStream.read:([BII)I
istore 5
start local 5 6: iload 5
ifgt 8
7: goto 12
8: StackMap locals: int
StackMap stack:
aload 1
aload 4
iconst_0
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
9: iload 3
iload 5
iadd
istore 3
10: iload 2
iload 5
isub
istore 2
end local 5 11: StackMap locals:
StackMap stack:
iload 2
ifgt 3
12: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 in Ljava/io/InputStream;
0 13 1 bout Ljava/io/ByteArrayOutputStream;
0 13 2 length I
1 13 3 read I
2 13 4 buffer [B
6 11 5 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
bout
length
public static synchronized sun.security.x509.X509CertImpl intern(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof sun.security.x509.X509CertImpl
istore 1
start local 1 3: iload 1
ifeq 6
4: aload 0
checkcast sun.security.x509.X509CertImpl
invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
astore 2
start local 2 5: goto 7
end local 2 6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
astore 2
start local 2 7: StackMap locals: byte[]
StackMap stack:
getstatic sun.security.provider.X509Factory.certCache:Lsun/security/util/Cache;
aload 2
invokestatic sun.security.provider.X509Factory.getFromCache:(Lsun/security/util/Cache;[B)Ljava/lang/Object;
checkcast sun.security.x509.X509CertImpl
astore 3
start local 3 8: aload 3
ifnull 10
9: aload 3
areturn
10: StackMap locals: sun.security.x509.X509CertImpl
StackMap stack:
iload 1
ifeq 13
11: aload 0
checkcast sun.security.x509.X509CertImpl
astore 3
12: goto 15
13: StackMap locals:
StackMap stack:
new sun.security.x509.X509CertImpl
dup
aload 2
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
astore 3
14: aload 3
invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
astore 2
15: StackMap locals:
StackMap stack:
getstatic sun.security.provider.X509Factory.certCache:Lsun/security/util/Cache;
aload 2
aload 3
invokestatic sun.security.provider.X509Factory.addToCache:(Lsun/security/util/Cache;[BLjava/lang/Object;)V
16: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 c Ljava/security/cert/X509Certificate;
3 17 1 isImpl Z
5 6 2 encoding [B
7 17 2 encoding [B
8 17 3 newC Lsun/security/x509/X509CertImpl;
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
c
public static synchronized sun.security.x509.X509CRLImpl intern(java.security.cert.X509CRL);
descriptor: (Ljava/security/cert/X509CRL;)Lsun/security/x509/X509CRLImpl;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof sun.security.x509.X509CRLImpl
istore 1
start local 1 3: iload 1
ifeq 6
4: aload 0
checkcast sun.security.x509.X509CRLImpl
invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
astore 2
start local 2 5: goto 7
end local 2 6: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.security.cert.X509CRL.getEncoded:()[B
astore 2
start local 2 7: StackMap locals: byte[]
StackMap stack:
getstatic sun.security.provider.X509Factory.crlCache:Lsun/security/util/Cache;
aload 2
invokestatic sun.security.provider.X509Factory.getFromCache:(Lsun/security/util/Cache;[B)Ljava/lang/Object;
checkcast sun.security.x509.X509CRLImpl
astore 3
start local 3 8: aload 3
ifnull 10
9: aload 3
areturn
10: StackMap locals: sun.security.x509.X509CRLImpl
StackMap stack:
iload 1
ifeq 13
11: aload 0
checkcast sun.security.x509.X509CRLImpl
astore 3
12: goto 15
13: StackMap locals:
StackMap stack:
new sun.security.x509.X509CRLImpl
dup
aload 2
invokespecial sun.security.x509.X509CRLImpl.<init>:([B)V
astore 3
14: aload 3
invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
astore 2
15: StackMap locals:
StackMap stack:
getstatic sun.security.provider.X509Factory.crlCache:Lsun/security/util/Cache;
aload 2
aload 3
invokestatic sun.security.provider.X509Factory.addToCache:(Lsun/security/util/Cache;[BLjava/lang/Object;)V
16: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 c Ljava/security/cert/X509CRL;
3 17 1 isImpl Z
5 6 2 encoding [B
7 17 2 encoding [B
8 17 3 newC Lsun/security/x509/X509CRLImpl;
Exceptions:
throws java.security.cert.CRLException
MethodParameters:
Name Flags
c
private static synchronized <K, V> V getFromCache(sun.security.util.Cache<K, V>, );
descriptor: (Lsun/security/util/Cache;[B)Ljava/lang/Object;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new sun.security.util.Cache$EqualByteArray
dup
aload 1
invokespecial sun.security.util.Cache$EqualByteArray.<init>:([B)V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual sun.security.util.Cache.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cache Lsun/security/util/Cache<TK;TV;>;
0 2 1 encoding [B
1 2 2 key Ljava/lang/Object;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lsun/security/util/Cache<TK;TV;>;[B)TV;
MethodParameters:
Name Flags
cache
encoding
private static synchronized <V> void addToCache(sun.security.util.Cache<java.lang.Object, V>, byte[], );
descriptor: (Lsun/security/util/Cache;[BLjava/lang/Object;)V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
ldc 4194304
if_icmple 2
1: return
2: StackMap locals:
StackMap stack:
new sun.security.util.Cache$EqualByteArray
dup
aload 1
invokespecial sun.security.util.Cache$EqualByteArray.<init>:([B)V
astore 3
start local 3 3: aload 0
aload 3
aload 2
invokevirtual sun.security.util.Cache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 cache Lsun/security/util/Cache<Ljava/lang/Object;TV;>;
0 5 1 encoding [B
0 5 2 value TV;
3 5 3 key Ljava/lang/Object;
Signature: <V:Ljava/lang/Object;>(Lsun/security/util/Cache<Ljava/lang/Object;TV;>;[BTV;)V
MethodParameters:
Name Flags
cache
encoding
value
public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/security/cert/CertPath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.cert.CertificateException
dup
ldc "Missing input stream"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 2
start local 2 3: aload 2
ifnull 6
4: new sun.security.provider.certpath.X509CertPath
dup
new java.io.ByteArrayInputStream
dup
aload 2
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokespecial sun.security.provider.certpath.X509CertPath.<init>:(Ljava/io/InputStream;)V
5: areturn
6: StackMap locals: byte[]
StackMap stack:
new java.io.IOException
dup
ldc "Empty input"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 2 7: StackMap locals: sun.security.provider.X509Factory java.io.InputStream
StackMap stack: java.io.IOException
astore 2
start local 2 8: new java.security.cert.CertificateException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/provider/X509Factory;
0 9 1 inStream Ljava/io/InputStream;
3 7 2 encoding [B
8 9 2 ioe Ljava/io/IOException;
Exception table:
from to target type
2 5 7 Class java.io.IOException
6 7 7 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
inStream
public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream, java.lang.String);
descriptor: (Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.security.cert.CertificateException
dup
ldc "Missing input stream"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 3
start local 3 3: aload 3
ifnull 6
4: new sun.security.provider.certpath.X509CertPath
dup
new java.io.ByteArrayInputStream
dup
aload 3
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
aload 2
invokespecial sun.security.provider.certpath.X509CertPath.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
5: areturn
6: StackMap locals: byte[]
StackMap stack:
new java.io.IOException
dup
ldc "Empty input"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 7: StackMap locals: sun.security.provider.X509Factory java.io.InputStream java.lang.String
StackMap stack: java.io.IOException
astore 3
start local 3 8: new java.security.cert.CertificateException
dup
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/provider/X509Factory;
0 9 1 inStream Ljava/io/InputStream;
0 9 2 encoding Ljava/lang/String;
3 7 3 data [B
8 9 3 ioe Ljava/io/IOException;
Exception table:
from to target type
2 5 7 Class java.io.IOException
6 7 7 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateException
MethodParameters:
Name Flags
inStream
encoding
public java.security.cert.CertPath engineGenerateCertPath(java.util.List<? extends java.security.cert.Certificate>);
descriptor: (Ljava/util/List;)Ljava/security/cert/CertPath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new sun.security.provider.certpath.X509CertPath
dup
aload 1
invokespecial sun.security.provider.certpath.X509CertPath.<init>:(Ljava/util/List;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/X509Factory;
0 1 1 certificates Ljava/util/List<+Ljava/security/cert/Certificate;>;
Exceptions:
throws java.security.cert.CertificateException
Signature: (Ljava/util/List<+Ljava/security/cert/Certificate;>;)Ljava/security/cert/CertPath;
MethodParameters:
Name Flags
certificates
public java.util.Iterator<java.lang.String> engineGetCertPathEncodings();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic sun.security.provider.certpath.X509CertPath.getEncodingsStatic:()Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/X509Factory;
Signature: ()Ljava/util/Iterator<Ljava/lang/String;>;
public java.util.Collection<? extends java.security.cert.Certificate> engineGenerateCertificates(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.cert.CertificateException
dup
ldc "Missing input stream"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.provider.X509Factory.parseX509orPKCS7Cert:(Ljava/io/InputStream;)Ljava/util/Collection;
3: areturn
4: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 5: new java.security.cert.CertificateException
dup
aload 2
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/provider/X509Factory;
0 6 1 is Ljava/io/InputStream;
5 6 2 ioe Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateException
Signature: (Ljava/io/InputStream;)Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
MethodParameters:
Name Flags
is
public java.security.cert.CRL engineGenerateCRL(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/security/cert/CRL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: getstatic sun.security.provider.X509Factory.crlCache:Lsun/security/util/Cache;
invokevirtual sun.security.util.Cache.clear:()V
2: new java.security.cert.CRLException
dup
ldc "Missing input stream"
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 2
start local 2 4: aload 2
ifnull 13
5: getstatic sun.security.provider.X509Factory.crlCache:Lsun/security/util/Cache;
aload 2
invokestatic sun.security.provider.X509Factory.getFromCache:(Lsun/security/util/Cache;[B)Ljava/lang/Object;
checkcast sun.security.x509.X509CRLImpl
astore 3
start local 3 6: aload 3
ifnull 9
7: aload 3
8: areturn
9: StackMap locals: byte[] sun.security.x509.X509CRLImpl
StackMap stack:
new sun.security.x509.X509CRLImpl
dup
aload 2
invokespecial sun.security.x509.X509CRLImpl.<init>:([B)V
astore 3
10: getstatic sun.security.provider.X509Factory.crlCache:Lsun/security/util/Cache;
aload 3
invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
aload 3
invokestatic sun.security.provider.X509Factory.addToCache:(Lsun/security/util/Cache;[BLjava/lang/Object;)V
11: aload 3
12: areturn
end local 3 13: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Empty input"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 2 14: StackMap locals: sun.security.provider.X509Factory java.io.InputStream
StackMap stack: java.io.IOException
astore 2
start local 2 15: new java.security.cert.CRLException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/provider/X509Factory;
0 16 1 is Ljava/io/InputStream;
4 14 2 encoding [B
6 13 3 crl Lsun/security/x509/X509CRLImpl;
15 16 2 ioe Ljava/io/IOException;
Exception table:
from to target type
3 8 14 Class java.io.IOException
9 12 14 Class java.io.IOException
13 14 14 Class java.io.IOException
Exceptions:
throws java.security.cert.CRLException
MethodParameters:
Name Flags
is
public java.util.Collection<? extends java.security.cert.CRL> engineGenerateCRLs(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.cert.CRLException
dup
ldc "Missing input stream"
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.provider.X509Factory.parseX509orPKCS7CRL:(Ljava/io/InputStream;)Ljava/util/Collection;
3: areturn
4: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 5: new java.security.cert.CRLException
dup
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/provider/X509Factory;
0 6 1 is Ljava/io/InputStream;
5 6 2 ioe Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
Exceptions:
throws java.security.cert.CRLException
Signature: (Ljava/io/InputStream;)Ljava/util/Collection<+Ljava/security/cert/CRL;>;
MethodParameters:
Name Flags
is
private java.util.Collection<? extends java.security.cert.Certificate> parseX509orPKCS7Cert(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: new java.io.PushbackInputStream
dup
aload 1
invokespecial java.io.PushbackInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 2: aload 4
invokevirtual java.io.PushbackInputStream.read:()I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 5
4: new java.util.ArrayList
dup
iconst_0
invokespecial java.util.ArrayList.<init>:(I)V
areturn
5: StackMap locals: sun.security.provider.X509Factory java.io.InputStream int top java.io.PushbackInputStream java.util.Collection
StackMap stack:
aload 4
iload 2
invokevirtual java.io.PushbackInputStream.unread:(I)V
6: aload 4
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 3
start local 3 7: aload 3
ifnonnull 9
8: new java.security.cert.CertificateException
dup
ldc "No certificate data found"
invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: sun.security.provider.X509Factory java.io.InputStream int byte[] java.io.PushbackInputStream java.util.Collection
StackMap stack:
new sun.security.pkcs.PKCS7
dup
aload 3
invokespecial sun.security.pkcs.PKCS7.<init>:([B)V
astore 6
start local 6 10: aload 6
invokevirtual sun.security.pkcs.PKCS7.getCertificates:()[Ljava/security/cert/X509Certificate;
astore 7
start local 7 11: aload 7
ifnull 14
12: aload 7
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
13: areturn
14: StackMap locals: sun.security.pkcs.PKCS7 java.security.cert.X509Certificate[]
StackMap stack:
new java.util.ArrayList
dup
iconst_0
invokespecial java.util.ArrayList.<init>:(I)V
15: areturn
end local 7 end local 6 16: StackMap locals: sun.security.provider.X509Factory java.io.InputStream int byte[] java.io.PushbackInputStream java.util.Collection
StackMap stack: sun.security.pkcs.ParsingException
pop
17: goto 20
18: StackMap locals:
StackMap stack:
aload 5
new sun.security.x509.X509CertImpl
dup
aload 3
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
19: aload 4
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 3
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 18
21: aload 5
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 22 0 this Lsun/security/provider/X509Factory;
0 22 1 is Ljava/io/InputStream;
3 22 2 peekByte I
7 22 3 data [B
1 22 4 pbis Ljava/io/PushbackInputStream;
2 22 5 coll Ljava/util/Collection<Lsun/security/x509/X509CertImpl;>;
10 16 6 pkcs7 Lsun/security/pkcs/PKCS7;
11 16 7 certs [Ljava/security/cert/X509Certificate;
Exception table:
from to target type
9 13 16 Class sun.security.pkcs.ParsingException
14 15 16 Class sun.security.pkcs.ParsingException
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException
Signature: (Ljava/io/InputStream;)Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
MethodParameters:
Name Flags
is
private java.util.Collection<? extends java.security.cert.CRL> parseX509orPKCS7CRL(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: new java.io.PushbackInputStream
dup
aload 1
invokespecial java.io.PushbackInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 2: aload 4
invokevirtual java.io.PushbackInputStream.read:()I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 5
4: new java.util.ArrayList
dup
iconst_0
invokespecial java.util.ArrayList.<init>:(I)V
areturn
5: StackMap locals: sun.security.provider.X509Factory java.io.InputStream int top java.io.PushbackInputStream java.util.Collection
StackMap stack:
aload 4
iload 2
invokevirtual java.io.PushbackInputStream.unread:(I)V
6: aload 4
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 3
start local 3 7: aload 3
ifnonnull 9
8: new java.security.cert.CRLException
dup
ldc "No CRL data found"
invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: sun.security.provider.X509Factory java.io.InputStream int byte[] java.io.PushbackInputStream java.util.Collection
StackMap stack:
new sun.security.pkcs.PKCS7
dup
aload 3
invokespecial sun.security.pkcs.PKCS7.<init>:([B)V
astore 6
start local 6 10: aload 6
invokevirtual sun.security.pkcs.PKCS7.getCRLs:()[Ljava/security/cert/X509CRL;
astore 7
start local 7 11: aload 7
ifnull 14
12: aload 7
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
13: areturn
14: StackMap locals: sun.security.pkcs.PKCS7 java.security.cert.X509CRL[]
StackMap stack:
new java.util.ArrayList
dup
iconst_0
invokespecial java.util.ArrayList.<init>:(I)V
15: areturn
end local 7 end local 6 16: StackMap locals: sun.security.provider.X509Factory java.io.InputStream int byte[] java.io.PushbackInputStream java.util.Collection
StackMap stack: sun.security.pkcs.ParsingException
pop
17: goto 20
18: StackMap locals:
StackMap stack:
aload 5
new sun.security.x509.X509CRLImpl
dup
aload 3
invokespecial sun.security.x509.X509CRLImpl.<init>:([B)V
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
19: aload 4
invokestatic sun.security.provider.X509Factory.readOneBlock:(Ljava/io/InputStream;)[B
astore 3
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 18
21: aload 5
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 22 0 this Lsun/security/provider/X509Factory;
0 22 1 is Ljava/io/InputStream;
3 22 2 peekByte I
7 22 3 data [B
1 22 4 pbis Ljava/io/PushbackInputStream;
2 22 5 coll Ljava/util/Collection<Lsun/security/x509/X509CRLImpl;>;
10 16 6 pkcs7 Lsun/security/pkcs/PKCS7;
11 16 7 crls [Ljava/security/cert/X509CRL;
Exception table:
from to target type
9 13 16 Class sun.security.pkcs.ParsingException
14 15 16 Class sun.security.pkcs.ParsingException
Exceptions:
throws java.security.cert.CRLException, java.io.IOException
Signature: (Ljava/io/InputStream;)Ljava/util/Collection<+Ljava/security/cert/CRL;>;
MethodParameters:
Name Flags
is
private static byte[] readOneBlock(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual java.io.InputStream.read:()I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
iload 1
bipush 48
if_icmpne 8
4: new java.io.ByteArrayOutputStream
dup
sipush 2048
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 2
start local 2 5: aload 2
iload 1
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
6: aload 0
aload 2
iload 1
invokestatic sun.security.provider.X509Factory.readBERInternal:(Ljava/io/InputStream;Ljava/io/ByteArrayOutputStream;I)I
pop
7: aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 2 8: StackMap locals:
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 9: iload 1
bipush 45
if_icmpne 10
iconst_1
goto 11
StackMap locals: java.io.ByteArrayOutputStream
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 3
start local 3 12: iload 1
bipush 45
if_icmpne 13
iconst_m1
goto 14
StackMap locals: int
StackMap stack:
13: iload 1
StackMap locals:
StackMap stack: int
14: istore 4
start local 4 15: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 5
start local 5 16: iload 5
iconst_m1
if_icmpne 18
17: aconst_null
areturn
18: StackMap locals: int
StackMap stack:
iload 5
bipush 45
if_icmpne 21
19: iinc 3 1
20: goto 23
21: StackMap locals:
StackMap stack:
iconst_0
istore 3
22: iload 5
istore 4
23: StackMap locals:
StackMap stack:
iload 3
iconst_5
if_icmpne 15
iload 4
iconst_m1
if_icmpeq 24
iload 4
bipush 13
if_icmpeq 24
iload 4
bipush 10
if_icmpne 15
end local 5 24: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "-----"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 6
start local 6 25: StackMap locals: java.io.InputStream int java.io.ByteArrayOutputStream int int top java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 7
start local 7 26: iload 7
iconst_m1
if_icmpne 28
27: new java.io.IOException
dup
ldc "Incomplete data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: int
StackMap stack:
iload 7
bipush 10
if_icmpne 31
29: bipush 10
istore 5
start local 5 30: goto 44
end local 5 31: StackMap locals:
StackMap stack:
iload 7
bipush 13
if_icmpne 42
32: aload 0
invokevirtual java.io.InputStream.read:()I
istore 7
33: iload 7
iconst_m1
if_icmpne 35
34: new java.io.IOException
dup
ldc "Incomplete data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
iload 7
bipush 10
if_icmpne 38
36: bipush 10
istore 5
start local 5 37: goto 44
end local 5 38: StackMap locals:
StackMap stack:
bipush 13
istore 5
start local 5 39: iload 7
bipush 9
if_icmpeq 44
iload 7
bipush 10
if_icmpeq 44
iload 7
bipush 13
if_icmpeq 44
iload 7
bipush 32
if_icmpeq 44
40: aload 2
iload 7
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
41: goto 44
end local 5 42: StackMap locals:
StackMap stack:
aload 6
iload 7
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 43: goto 25
start local 5 44: StackMap locals: java.io.InputStream int java.io.ByteArrayOutputStream int int int java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 7
start local 7 45: iload 7
iconst_m1
if_icmpne 47
46: new java.io.IOException
dup
ldc "Incomplete data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals: int
StackMap stack:
iload 7
bipush 45
if_icmpeq 51
48: iload 7
bipush 9
if_icmpeq 44
iload 7
bipush 10
if_icmpeq 44
iload 7
bipush 13
if_icmpeq 44
iload 7
bipush 32
if_icmpeq 44
49: aload 2
iload 7
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
end local 7 50: goto 44
51: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 7
start local 7 52: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 8
start local 8 53: iload 8
iconst_m1
if_icmpeq 57
iload 8
iload 5
if_icmpeq 57
iload 8
bipush 10
if_icmpne 55
54: goto 57
55: StackMap locals: int
StackMap stack:
iload 8
bipush 13
if_icmpeq 52
aload 7
iload 8
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 8 56: goto 52
57: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.stripTrailing:()Ljava/lang/String;
58: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.stripTrailing:()Ljava/lang/String;
59: invokestatic sun.security.provider.X509Factory.checkHeaderFooter:(Ljava/lang/String;Ljava/lang/String;)V
60: invokestatic java.util.Base64.getDecoder:()Ljava/util/Base64$Decoder;
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual java.util.Base64$Decoder.decode:([B)[B
61: areturn
62: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 8
start local 8 63: new java.io.IOException
dup
aload 8
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
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 64 0 is Ljava/io/InputStream;
1 64 1 c I
5 8 2 bout Ljava/io/ByteArrayOutputStream;
9 64 2 data Ljava/io/ByteArrayOutputStream;
12 64 3 hyphen I
15 64 4 last I
16 24 5 next I
30 31 5 end I
37 38 5 end I
39 42 5 end I
44 64 5 end I
25 64 6 header Ljava/lang/StringBuilder;
26 43 7 next I
45 50 7 next I
52 64 7 footer Ljava/lang/StringBuilder;
53 56 8 next I
63 64 8 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
60 61 62 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
is
private static void (java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
bipush 16
if_icmplt 2
aload 0
ldc "-----BEGIN "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
1: aload 0
ldc "-----"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 3
2: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Illegal header: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
bipush 14
if_icmplt 5
aload 1
ldc "-----END "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: aload 1
ldc "-----"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 6
5: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Illegal footer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
bipush 11
aload 0
invokevirtual java.lang.String.length:()I
iconst_5
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
start local 2 7: aload 1
bipush 9
aload 1
invokevirtual java.lang.String.length:()I
iconst_5
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 8: aload 2
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
9: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Header and footer do not match: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.String java.lang.String
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 header Ljava/lang/String;
0 13 1 footer Ljava/lang/String;
7 13 2 headerType Ljava/lang/String;
8 13 3 footerType Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
header
footer
private static int readBERInternal(java.io.InputStream, java.io.ByteArrayOutputStream, int);
descriptor: (Ljava/io/InputStream;Ljava/io/ByteArrayOutputStream;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_m1
if_icmpne 7
1: aload 0
invokevirtual java.io.InputStream.read:()I
istore 2
2: iload 2
iconst_m1
if_icmpne 4
3: new java.io.IOException
dup
ldc "BER/DER tag info absent"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
bipush 31
iand
bipush 31
if_icmpne 6
5: new java.io.IOException
dup
ldc "Multi octets tag not supported"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 3
start local 3 8: iload 3
iconst_m1
if_icmpne 10
9: new java.io.IOException
dup
ldc "BER/DER length info absent"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: int
StackMap stack:
aload 1
iload 3
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
11: iload 3
sipush 128
if_icmpne 19
12: iload 2
bipush 32
iand
bipush 32
if_icmpeq 16
13: new java.io.IOException
dup
14: ldc "Non constructed encoding must have definite length"
15: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_m1
invokestatic sun.security.provider.X509Factory.readBERInternal:(Ljava/io/InputStream;Ljava/io/ByteArrayOutputStream;I)I
istore 5
start local 5 17: iload 5
ifne 16
end local 5 18: goto 70
19: StackMap locals:
StackMap stack:
iload 3
sipush 128
if_icmpge 22
20: iload 3
istore 4
start local 4 21: goto 68
end local 4 StackMap locals:
StackMap stack:
22: iload 3
sipush 129
if_icmpne 28
23: aload 0
invokevirtual java.io.InputStream.read:()I
istore 4
start local 4 24: iload 4
iconst_m1
if_icmpne 26
25: new java.io.IOException
dup
ldc "Incomplete BER/DER length info"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
27: goto 68
end local 4 StackMap locals:
StackMap stack:
28: iload 3
sipush 130
if_icmpne 37
29: aload 0
invokevirtual java.io.InputStream.read:()I
istore 5
start local 5 30: aload 0
invokevirtual java.io.InputStream.read:()I
istore 6
start local 6 31: iload 6
iconst_m1
if_icmpne 33
32: new java.io.IOException
dup
ldc "Incomplete BER/DER length info"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int top int int
StackMap stack:
aload 1
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
34: aload 1
iload 6
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
35: iload 5
bipush 8
ishl
iload 6
ior
istore 4
end local 6 end local 5 start local 4 36: goto 68
end local 4 StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int
StackMap stack:
37: iload 3
sipush 131
if_icmpne 48
38: aload 0
invokevirtual java.io.InputStream.read:()I
istore 5
start local 5 39: aload 0
invokevirtual java.io.InputStream.read:()I
istore 6
start local 6 40: aload 0
invokevirtual java.io.InputStream.read:()I
istore 7
start local 7 41: iload 7
iconst_m1
if_icmpne 43
42: new java.io.IOException
dup
ldc "Incomplete BER/DER length info"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int top int int int
StackMap stack:
aload 1
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
44: aload 1
iload 6
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
45: aload 1
iload 7
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
46: iload 5
bipush 16
ishl
iload 6
bipush 8
ishl
ior
iload 7
ior
istore 4
end local 7 end local 6 end local 5 start local 4 47: goto 68
end local 4 StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int
StackMap stack:
48: iload 3
sipush 132
if_icmpne 67
49: aload 0
invokevirtual java.io.InputStream.read:()I
istore 5
start local 5 50: aload 0
invokevirtual java.io.InputStream.read:()I
istore 6
start local 6 51: aload 0
invokevirtual java.io.InputStream.read:()I
istore 7
start local 7 52: aload 0
invokevirtual java.io.InputStream.read:()I
istore 8
start local 8 53: iload 8
iconst_m1
if_icmpne 55
54: new java.io.IOException
dup
ldc "Incomplete BER/DER length info"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int top int int int int
StackMap stack:
iload 5
bipush 127
if_icmple 57
56: new java.io.IOException
dup
ldc "Invalid BER/DER data (a little huge?)"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
57: StackMap locals:
StackMap stack:
aload 1
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
58: aload 1
iload 6
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
59: aload 1
iload 7
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
60: aload 1
iload 8
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
61: iload 5
bipush 24
ishl
iload 6
bipush 16
ishl
ior
62: iload 7
bipush 8
ishl
63: ior
64: iload 8
65: ior
istore 4
end local 8 end local 7 end local 6 end local 5 start local 4 66: goto 68
end local 4 67: StackMap locals: java.io.InputStream java.io.ByteArrayOutputStream int int
StackMap stack:
new java.io.IOException
dup
ldc "Invalid BER/DER data (too huge?)"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
start local 4 68: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 4
invokestatic sun.security.provider.X509Factory.readFully:(Ljava/io/InputStream;Ljava/io/ByteArrayOutputStream;I)I
iload 4
if_icmpeq 70
69: new java.io.IOException
dup
ldc "Incomplete BER/DER data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 4 70: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 is Ljava/io/InputStream;
0 71 1 bout Ljava/io/ByteArrayOutputStream;
0 71 2 tag I
8 71 3 n I
21 22 4 length I
24 28 4 length I
36 37 4 length I
47 48 4 length I
66 67 4 length I
68 70 4 length I
17 18 5 subTag I
30 36 5 highByte I
31 36 6 lowByte I
39 47 5 highByte I
40 47 6 midByte I
41 47 7 lowByte I
50 66 5 highByte I
51 66 6 nextByte I
52 66 7 midByte I
53 66 8 lowByte I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
is
bout
tag
private void commitEvent(sun.security.x509.X509CertImpl);
descriptor: (Lsun/security/x509/X509CertImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=15, args_size=2
start local 0 start local 1 0: new jdk.internal.event.X509CertificateEvent
dup
invokespecial jdk.internal.event.X509CertificateEvent.<init>:()V
astore 2
start local 2 1: aload 2
invokevirtual jdk.internal.event.X509CertificateEvent.shouldCommit:()Z
ifne 2
invokestatic jdk.internal.event.EventHelper.isLoggingSecurity:()Z
ifeq 34
2: StackMap locals: jdk.internal.event.X509CertificateEvent
StackMap stack:
aload 1
invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
astore 3
start local 3 3: aload 1
invokevirtual sun.security.x509.X509CertImpl.getSigAlgName:()Ljava/lang/String;
astore 4
start local 4 4: aload 1
invokevirtual sun.security.x509.X509CertImpl.getSerialNumber:()Ljava/math/BigInteger;
bipush 16
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
astore 5
start local 5 5: aload 1
invokevirtual sun.security.x509.X509CertImpl.getSubjectDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
astore 6
start local 6 6: aload 1
invokevirtual sun.security.x509.X509CertImpl.getIssuerDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
astore 7
start local 7 7: aload 3
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
astore 8
start local 8 8: aload 3
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
istore 9
start local 9 9: aload 1
invokevirtual sun.security.x509.X509CertImpl.hashCode:()I
istore 10
start local 10 10: aload 1
invokevirtual sun.security.x509.X509CertImpl.getNotBefore:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lstore 11
start local 11 11: aload 1
invokevirtual sun.security.x509.X509CertImpl.getNotAfter:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lstore 13
start local 13 12: aload 2
invokevirtual jdk.internal.event.X509CertificateEvent.shouldCommit:()Z
ifeq 23
13: aload 2
aload 4
putfield jdk.internal.event.X509CertificateEvent.algorithm:Ljava/lang/String;
14: aload 2
aload 5
putfield jdk.internal.event.X509CertificateEvent.serialNumber:Ljava/lang/String;
15: aload 2
aload 6
putfield jdk.internal.event.X509CertificateEvent.subject:Ljava/lang/String;
16: aload 2
aload 7
putfield jdk.internal.event.X509CertificateEvent.issuer:Ljava/lang/String;
17: aload 2
aload 8
putfield jdk.internal.event.X509CertificateEvent.keyType:Ljava/lang/String;
18: aload 2
iload 9
putfield jdk.internal.event.X509CertificateEvent.keyLength:I
19: aload 2
iload 10
i2l
putfield jdk.internal.event.X509CertificateEvent.certificateId:J
20: aload 2
lload 11
putfield jdk.internal.event.X509CertificateEvent.validFrom:J
21: aload 2
lload 13
putfield jdk.internal.event.X509CertificateEvent.validUntil:J
22: aload 2
invokevirtual jdk.internal.event.X509CertificateEvent.commit:()V
23: StackMap locals: sun.security.provider.X509Factory sun.security.x509.X509CertImpl jdk.internal.event.X509CertificateEvent java.security.PublicKey java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int int long long
StackMap stack:
invokestatic jdk.internal.event.EventHelper.isLoggingSecurity:()Z
ifeq 34
24: aload 4
25: aload 5
26: aload 6
27: aload 7
28: aload 8
29: iload 9
30: iload 10
i2l
31: lload 11
32: lload 13
33: invokestatic jdk.internal.event.EventHelper.logX509CertificateEvent:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IJJJ)V
end local 13 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 34: StackMap locals: sun.security.provider.X509Factory sun.security.x509.X509CertImpl jdk.internal.event.X509CertificateEvent
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/security/provider/X509Factory;
0 35 1 info Lsun/security/x509/X509CertImpl;
1 35 2 xce Ljdk/internal/event/X509CertificateEvent;
3 34 3 pKey Ljava/security/PublicKey;
4 34 4 algId Ljava/lang/String;
5 34 5 serNum Ljava/lang/String;
6 34 6 subject Ljava/lang/String;
7 34 7 issuer Ljava/lang/String;
8 34 8 keyType Ljava/lang/String;
9 34 9 length I
10 34 10 hashCode I
11 34 11 beginDate J
12 34 13 endDate J
MethodParameters:
Name Flags
info
}
SourceFile: "X509Factory.java"
InnerClasses:
public Decoder = java.util.Base64$Decoder of java.util.Base64
public EqualByteArray = sun.security.util.Cache$EqualByteArray of sun.security.util.Cache