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 14
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 3
13: areturn
end local 3 14: 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 15: StackMap locals: sun.security.provider.X509Factory java.io.InputStream
StackMap stack: java.io.IOException
astore 2
start local 2 16: 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
17: 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
18: 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 19 0 this Lsun/security/provider/X509Factory;
0 19 1 is Ljava/io/InputStream;
5 15 2 encoding [B
7 14 3 cert Lsun/security/x509/X509CertImpl;
16 19 2 ioe Ljava/io/IOException;
Exception table:
from to target type
4 9 15 Class java.io.IOException
10 13 15 Class java.io.IOException
14 15 15 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=5, locals=10, 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:
sipush 2048
newarray 5
astore 2
start local 2 9: iconst_0
istore 3
start local 3 10: iload 1
bipush 45
if_icmpne 11
iconst_1
goto 12
StackMap locals: char[] int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 4
start local 4 13: iload 1
bipush 45
if_icmpne 14
iconst_m1
goto 15
StackMap locals: int
StackMap stack:
14: iload 1
StackMap locals:
StackMap stack: int
15: istore 5
start local 5 16: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 6
start local 6 17: iload 6
iconst_m1
if_icmpne 19
18: aconst_null
areturn
19: StackMap locals: int
StackMap stack:
iload 6
bipush 45
if_icmpne 22
20: iinc 4 1
21: goto 24
22: StackMap locals:
StackMap stack:
iconst_0
istore 4
23: iload 6
istore 5
24: StackMap locals:
StackMap stack:
iload 4
iconst_5
if_icmpne 16
iload 5
iconst_m1
if_icmpeq 25
iload 5
bipush 13
if_icmpeq 25
iload 5
bipush 10
if_icmpne 16
end local 6 25: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "-----"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 7
start local 7 26: StackMap locals: java.io.InputStream int char[] int int int top java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 8
start local 8 27: iload 8
iconst_m1
if_icmpne 29
28: new java.io.IOException
dup
ldc "Incomplete data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: int
StackMap stack:
iload 8
bipush 10
if_icmpne 32
30: bipush 10
istore 6
start local 6 31: goto 44
end local 6 32: StackMap locals:
StackMap stack:
iload 8
bipush 13
if_icmpne 42
33: aload 0
invokevirtual java.io.InputStream.read:()I
istore 8
34: iload 8
iconst_m1
if_icmpne 36
35: new java.io.IOException
dup
ldc "Incomplete data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
iload 8
bipush 10
if_icmpne 39
37: bipush 10
istore 6
start local 6 38: goto 44
end local 6 39: StackMap locals:
StackMap stack:
bipush 13
istore 6
start local 6 40: aload 2
iload 3
iinc 3 1
iload 8
i2c
castore
41: goto 44
end local 6 42: StackMap locals:
StackMap stack:
aload 7
iload 8
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 8 43: goto 26
start local 6 44: StackMap locals: java.io.InputStream int char[] int int int int java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 8
start local 8 45: iload 8
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 8
bipush 45
if_icmpeq 52
48: aload 2
iload 3
iinc 3 1
iload 8
i2c
castore
49: iload 3
aload 2
arraylength
if_icmplt 44
50: aload 2
aload 2
arraylength
sipush 1024
iadd
invokestatic java.util.Arrays.copyOf:([CI)[C
astore 2
end local 8 51: goto 44
52: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 8
start local 8 53: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 9
start local 9 54: iload 9
iconst_m1
if_icmpeq 58
iload 9
iload 6
if_icmpeq 58
iload 9
bipush 10
if_icmpne 56
55: goto 58
56: StackMap locals: int
StackMap stack:
iload 9
bipush 13
if_icmpeq 53
aload 8
iload 9
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 9 57: goto 53
58: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.security.provider.X509Factory.checkHeaderFooter:(Ljava/lang/String;Ljava/lang/String;)V
59: new java.lang.String
dup
aload 2
iconst_0
iload 3
invokespecial java.lang.String.<init>:([CII)V
invokestatic sun.security.util.Pem.decode:(Ljava/lang/String;)[B
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 60 0 is Ljava/io/InputStream;
1 60 1 c I
5 8 2 bout Ljava/io/ByteArrayOutputStream;
9 60 2 data [C
10 60 3 pos I
13 60 4 hyphen I
16 60 5 last I
17 25 6 next I
31 32 6 end I
38 39 6 end I
40 42 6 end I
44 60 6 end I
26 60 7 header Ljava/lang/StringBuilder;
27 43 8 next I
45 51 8 next I
53 60 8 footer Ljava/lang/StringBuilder;
54 57 9 next I
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
}
SourceFile: "X509Factory.java"
InnerClasses:
public EqualByteArray = sun.security.util.Cache$EqualByteArray of sun.security.util.Cache