public class org.bouncycastle.asn1.ASN1InputStream extends java.io.FilterInputStream implements org.bouncycastle.asn1.DERTags
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.asn1.ASN1InputStream
super_class: java.io.FilterInputStream
{
private final int limit;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean lazyEvaluate;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static int findLimit(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.bouncycastle.asn1.LimitedInputStream
ifeq 2
1: aload 0
checkcast org.bouncycastle.asn1.LimitedInputStream
invokevirtual org.bouncycastle.asn1.LimitedInputStream.getRemaining:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.io.ByteArrayInputStream
ifeq 4
3: aload 0
checkcast java.io.ByteArrayInputStream
invokevirtual java.io.ByteArrayInputStream.available:()I
ireturn
4: StackMap locals:
StackMap stack:
ldc 2147483647
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 in Ljava/io/InputStream;
MethodParameters:
Name Flags
in
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokestatic org.bouncycastle.asn1.ASN1InputStream.findLimit:(Ljava/io/InputStream;)I
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 2 1 is Ljava/io/InputStream;
MethodParameters:
Name Flags
is
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.io.ByteArrayInputStream
dup
aload 1
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
aload 1
arraylength
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 2 1 input [B
MethodParameters:
Name Flags
input
public void <init>(byte[], boolean);
descriptor: ([BZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.io.ByteArrayInputStream
dup
aload 1
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
aload 1
arraylength
iload 2
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;IZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 2 1 input [B
0 2 2 lazyEvaluate Z
MethodParameters:
Name Flags
input
lazyEvaluate
public void <init>(java.io.InputStream, int);
descriptor: (Ljava/io/InputStream;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_0
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;IZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 2 1 input Ljava/io/InputStream;
0 2 2 limit I
MethodParameters:
Name Flags
input
limit
public void <init>(java.io.InputStream, int, boolean);
descriptor: (Ljava/io/InputStream;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
iload 2
putfield org.bouncycastle.asn1.ASN1InputStream.limit:I
2: aload 0
iload 3
putfield org.bouncycastle.asn1.ASN1InputStream.lazyEvaluate:Z
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 4 1 input Ljava/io/InputStream;
0 4 2 limit I
0 4 3 lazyEvaluate Z
MethodParameters:
Name Flags
input
limit
lazyEvaluate
protected int readLength();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.bouncycastle.asn1.ASN1InputStream.limit:I
invokestatic org.bouncycastle.asn1.ASN1InputStream.readLength:(Ljava/io/InputStream;I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
Exceptions:
throws java.io.IOException
protected void readFully(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.bouncycastle.util.io.Streams.readFully:(Ljava/io/InputStream;[B)I
aload 1
arraylength
if_icmpeq 2
1: new java.io.EOFException
dup
ldc "EOF encountered in middle of object"
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 3 1 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bytes
protected org.bouncycastle.asn1.DERObject buildObject(int, int, int);
descriptor: (III)Lorg/bouncycastle/asn1/DERObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
bipush 32
iand
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: new org.bouncycastle.asn1.DefiniteLengthInputStream
dup
aload 0
iload 3
invokespecial org.bouncycastle.asn1.DefiniteLengthInputStream.<init>:(Ljava/io/InputStream;I)V
astore 5
start local 5 4: iload 1
bipush 64
iand
ifeq 6
5: new org.bouncycastle.asn1.DERApplicationSpecific
dup
iload 4
iload 2
aload 5
invokevirtual org.bouncycastle.asn1.DefiniteLengthInputStream.toByteArray:()[B
invokespecial org.bouncycastle.asn1.DERApplicationSpecific.<init>:(ZI[B)V
areturn
6: StackMap locals: int org.bouncycastle.asn1.DefiniteLengthInputStream
StackMap stack:
iload 1
sipush 128
iand
ifeq 8
7: new org.bouncycastle.asn1.ASN1StreamParser
dup
aload 5
invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
iload 4
iload 2
invokevirtual org.bouncycastle.asn1.ASN1StreamParser.readTaggedObject:(ZI)Lorg/bouncycastle/asn1/DERObject;
areturn
8: StackMap locals:
StackMap stack:
iload 4
ifeq 17
9: iload 2
lookupswitch { // 4
4: 10
8: 15
16: 11
17: 14
default: 16
}
10: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.BERConstructedOctetString
dup
aload 0
aload 5
invokevirtual org.bouncycastle.asn1.ASN1InputStream.buildDEREncodableVector:(Lorg/bouncycastle/asn1/DefiniteLengthInputStream;)Lorg/bouncycastle/asn1/ASN1EncodableVector;
getfield org.bouncycastle.asn1.ASN1EncodableVector.v:Ljava/util/Vector;
invokespecial org.bouncycastle.asn1.BERConstructedOctetString.<init>:(Ljava/util/Vector;)V
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.ASN1InputStream.lazyEvaluate:Z
ifeq 13
12: new org.bouncycastle.asn1.LazyDERSequence
dup
aload 5
invokevirtual org.bouncycastle.asn1.DefiniteLengthInputStream.toByteArray:()[B
invokespecial org.bouncycastle.asn1.LazyDERSequence.<init>:([B)V
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.bouncycastle.asn1.ASN1InputStream.buildDEREncodableVector:(Lorg/bouncycastle/asn1/DefiniteLengthInputStream;)Lorg/bouncycastle/asn1/ASN1EncodableVector;
invokestatic org.bouncycastle.asn1.DERFactory.createSequence:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)Lorg/bouncycastle/asn1/DERSequence;
areturn
14: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.bouncycastle.asn1.ASN1InputStream.buildDEREncodableVector:(Lorg/bouncycastle/asn1/DefiniteLengthInputStream;)Lorg/bouncycastle/asn1/ASN1EncodableVector;
iconst_0
invokestatic org.bouncycastle.asn1.DERFactory.createSet:(Lorg/bouncycastle/asn1/ASN1EncodableVector;Z)Lorg/bouncycastle/asn1/DERSet;
areturn
15: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERExternal
dup
aload 0
aload 5
invokevirtual org.bouncycastle.asn1.ASN1InputStream.buildDEREncodableVector:(Lorg/bouncycastle/asn1/DefiniteLengthInputStream;)Lorg/bouncycastle/asn1/ASN1EncodableVector;
invokespecial org.bouncycastle.asn1.DERExternal.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
areturn
16: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERUnknownTag
dup
iconst_1
iload 2
aload 5
invokevirtual org.bouncycastle.asn1.DefiniteLengthInputStream.toByteArray:()[B
invokespecial org.bouncycastle.asn1.DERUnknownTag.<init>:(ZI[B)V
areturn
17: StackMap locals:
StackMap stack:
iload 2
aload 5
invokevirtual org.bouncycastle.asn1.DefiniteLengthInputStream.toByteArray:()[B
invokestatic org.bouncycastle.asn1.ASN1InputStream.createPrimitiveDERObject:(I[B)Lorg/bouncycastle/asn1/DERObject;
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 18 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 18 1 tag I
0 18 2 tagNo I
0 18 3 length I
3 18 4 isConstructed Z
4 18 5 defIn Lorg/bouncycastle/asn1/DefiniteLengthInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tag
tagNo
length
org.bouncycastle.asn1.ASN1EncodableVector buildEncodableVector();
descriptor: ()Lorg/bouncycastle/asn1/ASN1EncodableVector;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: new org.bouncycastle.asn1.ASN1EncodableVector
dup
invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
astore 1
start local 1 1: goto 3
start local 2 2: StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.DERObject
StackMap stack:
aload 1
aload 2
invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
dup
astore 2
start local 2 4: ifnonnull 2
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
1 6 1 v Lorg/bouncycastle/asn1/ASN1EncodableVector;
2 3 2 o Lorg/bouncycastle/asn1/DERObject;
4 6 2 o Lorg/bouncycastle/asn1/DERObject;
Exceptions:
throws java.io.IOException
org.bouncycastle.asn1.ASN1EncodableVector buildDEREncodableVector(org.bouncycastle.asn1.DefiniteLengthInputStream);
descriptor: (Lorg/bouncycastle/asn1/DefiniteLengthInputStream;)Lorg/bouncycastle/asn1/ASN1EncodableVector;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.ASN1InputStream
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;)V
invokevirtual org.bouncycastle.asn1.ASN1InputStream.buildEncodableVector:()Lorg/bouncycastle/asn1/ASN1EncodableVector;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
0 1 1 dIn Lorg/bouncycastle/asn1/DefiniteLengthInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dIn
public org.bouncycastle.asn1.DERObject readObject();
descriptor: ()Lorg/bouncycastle/asn1/DERObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1InputStream.read:()I
istore 1
start local 1 1: iload 1
ifgt 5
2: iload 1
ifne 4
3: new java.io.IOException
dup
ldc "unexpected end-of-contents marker"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic org.bouncycastle.asn1.ASN1InputStream.readTagNumber:(Ljava/io/InputStream;I)I
istore 2
start local 2 6: iload 1
bipush 32
iand
ifeq 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 3
start local 3 9: aload 0
invokevirtual org.bouncycastle.asn1.ASN1InputStream.readLength:()I
istore 4
start local 4 10: iload 4
ifge 25
11: iload 3
ifne 13
12: new java.io.IOException
dup
ldc "indefinite length primitive encoding encountered"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: int int
StackMap stack:
new org.bouncycastle.asn1.IndefiniteLengthInputStream
dup
aload 0
aload 0
getfield org.bouncycastle.asn1.ASN1InputStream.limit:I
invokespecial org.bouncycastle.asn1.IndefiniteLengthInputStream.<init>:(Ljava/io/InputStream;I)V
astore 5
start local 5 14: new org.bouncycastle.asn1.ASN1StreamParser
dup
aload 5
aload 0
getfield org.bouncycastle.asn1.ASN1InputStream.limit:I
invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;I)V
astore 6
start local 6 15: iload 1
bipush 64
iand
ifeq 17
16: new org.bouncycastle.asn1.BERApplicationSpecificParser
dup
iload 2
aload 6
invokespecial org.bouncycastle.asn1.BERApplicationSpecificParser.<init>:(ILorg/bouncycastle/asn1/ASN1StreamParser;)V
invokevirtual org.bouncycastle.asn1.BERApplicationSpecificParser.getLoadedObject:()Lorg/bouncycastle/asn1/DERObject;
areturn
17: StackMap locals: org.bouncycastle.asn1.IndefiniteLengthInputStream org.bouncycastle.asn1.ASN1StreamParser
StackMap stack:
iload 1
sipush 128
iand
ifeq 19
18: new org.bouncycastle.asn1.BERTaggedObjectParser
dup
iconst_1
iload 2
aload 6
invokespecial org.bouncycastle.asn1.BERTaggedObjectParser.<init>:(ZILorg/bouncycastle/asn1/ASN1StreamParser;)V
invokevirtual org.bouncycastle.asn1.BERTaggedObjectParser.getLoadedObject:()Lorg/bouncycastle/asn1/DERObject;
areturn
19: StackMap locals:
StackMap stack:
iload 2
lookupswitch { // 4
4: 20
8: 23
16: 21
17: 22
default: 24
}
20: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.BEROctetStringParser
dup
aload 6
invokespecial org.bouncycastle.asn1.BEROctetStringParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
invokevirtual org.bouncycastle.asn1.BEROctetStringParser.getLoadedObject:()Lorg/bouncycastle/asn1/DERObject;
areturn
21: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.BERSequenceParser
dup
aload 6
invokespecial org.bouncycastle.asn1.BERSequenceParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
invokevirtual org.bouncycastle.asn1.BERSequenceParser.getLoadedObject:()Lorg/bouncycastle/asn1/DERObject;
areturn
22: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.BERSetParser
dup
aload 6
invokespecial org.bouncycastle.asn1.BERSetParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
invokevirtual org.bouncycastle.asn1.BERSetParser.getLoadedObject:()Lorg/bouncycastle/asn1/DERObject;
areturn
23: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERExternalParser
dup
aload 6
invokespecial org.bouncycastle.asn1.DERExternalParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
invokevirtual org.bouncycastle.asn1.DERExternalParser.getLoadedObject:()Lorg/bouncycastle/asn1/DERObject;
areturn
24: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "unknown BER object encountered"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 25: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iload 4
invokevirtual org.bouncycastle.asn1.ASN1InputStream.buildObject:(III)Lorg/bouncycastle/asn1/DERObject;
26: areturn
27: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 28: new org.bouncycastle.asn1.ASN1Exception
dup
ldc "corrupted stream detected"
aload 5
invokespecial org.bouncycastle.asn1.ASN1Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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 29 0 this Lorg/bouncycastle/asn1/ASN1InputStream;
1 29 1 tag I
6 29 2 tagNo I
9 29 3 isConstructed Z
10 29 4 length I
14 25 5 indIn Lorg/bouncycastle/asn1/IndefiniteLengthInputStream;
15 25 6 sp Lorg/bouncycastle/asn1/ASN1StreamParser;
28 29 5 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
25 26 27 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
static int readTagNumber(java.io.InputStream, int);
descriptor: (Ljava/io/InputStream;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
bipush 31
iand
istore 2
start local 2 1: iload 2
bipush 31
if_icmpne 13
2: iconst_0
istore 2
3: aload 0
invokevirtual java.io.InputStream.read:()I
istore 3
start local 3 4: iload 3
bipush 127
iand
ifne 9
5: new java.io.IOException
dup
ldc "corrupted stream - invalid high tag number found"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int int
StackMap stack:
iload 2
iload 3
bipush 127
iand
ior
istore 2
7: iload 2
bipush 7
ishl
istore 2
8: aload 0
invokevirtual java.io.InputStream.read:()I
istore 3
9: StackMap locals:
StackMap stack:
iload 3
iflt 10
iload 3
sipush 128
iand
ifne 6
10: StackMap locals:
StackMap stack:
iload 3
ifge 12
11: new java.io.EOFException
dup
ldc "EOF found inside tag value."
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
iload 2
iload 3
bipush 127
iand
ior
istore 2
end local 3 13: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 s Ljava/io/InputStream;
0 14 1 tag I
1 14 2 tagNo I
4 13 3 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
tag
static int readLength(java.io.InputStream, int);
descriptor: (Ljava/io/InputStream;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.io.InputStream.read:()I
istore 2
start local 2 1: iload 2
ifge 3
2: new java.io.EOFException
dup
ldc "EOF found when length expected"
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
iload 2
sipush 128
if_icmpne 5
4: iconst_m1
ireturn
5: StackMap locals:
StackMap stack:
iload 2
bipush 127
if_icmple 22
6: iload 2
bipush 127
iand
istore 3
start local 3 7: iload 3
iconst_4
if_icmple 9
8: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "DER length more than 4 bytes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: int
StackMap stack:
iconst_0
istore 2
10: iconst_0
istore 4
start local 4 11: goto 17
12: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.io.InputStream.read:()I
istore 5
start local 5 13: iload 5
ifge 15
14: new java.io.EOFException
dup
ldc "EOF found reading length"
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: int
StackMap stack:
iload 2
bipush 8
ishl
iload 5
iadd
istore 2
end local 5 16: iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
iload 3
if_icmplt 12
end local 4 18: iload 2
ifge 20
19: new java.io.IOException
dup
ldc "corrupted stream - negative length found"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmplt 22
21: new java.io.IOException
dup
ldc "corrupted stream - out of bounds length found"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 22: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 s Ljava/io/InputStream;
0 23 1 limit I
1 23 2 length I
7 22 3 size I
11 18 4 i I
13 16 5 next I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
limit
static org.bouncycastle.asn1.DERObject createPrimitiveDERObject(int, byte[]);
descriptor: (I[B)Lorg/bouncycastle/asn1/DERObject;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 0
tableswitch { // 1 - 30
1: 3
2: 8
3: 1
4: 12
5: 9
6: 11
7: 19
8: 19
9: 19
10: 4
11: 19
12: 17
13: 19
14: 19
15: 19
16: 19
17: 19
18: 10
19: 13
20: 14
21: 19
22: 7
23: 16
24: 5
25: 19
26: 18
27: 6
28: 15
29: 19
30: 2
default: 19
}
1: StackMap locals:
StackMap stack:
aload 1
invokestatic org.bouncycastle.asn1.DERBitString.fromOctetString:([B)Lorg/bouncycastle/asn1/DERBitString;
areturn
2: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERBMPString
dup
aload 1
invokespecial org.bouncycastle.asn1.DERBMPString.<init>:([B)V
areturn
3: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1Boolean
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1Boolean.<init>:([B)V
areturn
4: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1Enumerated
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1Enumerated.<init>:([B)V
areturn
5: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1GeneralizedTime
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1GeneralizedTime.<init>:([B)V
areturn
6: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERGeneralString
dup
aload 1
invokespecial org.bouncycastle.asn1.DERGeneralString.<init>:([B)V
areturn
7: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERIA5String
dup
aload 1
invokespecial org.bouncycastle.asn1.DERIA5String.<init>:([B)V
areturn
8: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1Integer
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1Integer.<init>:([B)V
areturn
9: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.asn1.DERNull.INSTANCE:Lorg/bouncycastle/asn1/DERNull;
areturn
10: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERNumericString
dup
aload 1
invokespecial org.bouncycastle.asn1.DERNumericString.<init>:([B)V
areturn
11: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1ObjectIdentifier
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:([B)V
areturn
12: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DEROctetString
dup
aload 1
invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
areturn
13: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERPrintableString
dup
aload 1
invokespecial org.bouncycastle.asn1.DERPrintableString.<init>:([B)V
areturn
14: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERT61String
dup
aload 1
invokespecial org.bouncycastle.asn1.DERT61String.<init>:([B)V
areturn
15: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERUniversalString
dup
aload 1
invokespecial org.bouncycastle.asn1.DERUniversalString.<init>:([B)V
areturn
16: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1UTCTime
dup
aload 1
invokespecial org.bouncycastle.asn1.ASN1UTCTime.<init>:([B)V
areturn
17: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERUTF8String
dup
aload 1
invokespecial org.bouncycastle.asn1.DERUTF8String.<init>:([B)V
areturn
18: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERVisibleString
dup
aload 1
invokespecial org.bouncycastle.asn1.DERVisibleString.<init>:([B)V
areturn
19: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.DERUnknownTag
dup
iconst_0
iload 0
aload 1
invokespecial org.bouncycastle.asn1.DERUnknownTag.<init>:(ZI[B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 tagNo I
0 20 1 bytes [B
MethodParameters:
Name Flags
tagNo
bytes
}
SourceFile: "ASN1InputStream.java"