public class org.bouncycastle.asn1.DERObjectIdentifier extends org.bouncycastle.asn1.ASN1Object
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.asn1.DERObjectIdentifier
super_class: org.bouncycastle.asn1.ASN1Object
{
java.lang.String identifier;
descriptor: Ljava/lang/String;
flags: (0x0000)
public static org.bouncycastle.asn1.DERObjectIdentifier getInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERObjectIdentifier;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
instanceof org.bouncycastle.asn1.DERObjectIdentifier
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
checkcast org.bouncycastle.asn1.DERObjectIdentifier
areturn
2: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "illegal object in getInstance: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public static org.bouncycastle.asn1.DERObjectIdentifier getInstance(org.bouncycastle.asn1.ASN1TaggedObject, boolean);
descriptor: (Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERObjectIdentifier;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getObject:()Lorg/bouncycastle/asn1/DERObject;
astore 2
start local 2 1: iload 1
ifne 2
aload 2
instanceof org.bouncycastle.asn1.DERObjectIdentifier
ifeq 3
2: StackMap locals: org.bouncycastle.asn1.DERObject
StackMap stack:
aload 2
invokestatic org.bouncycastle.asn1.DERObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERObjectIdentifier;
areturn
3: StackMap locals:
StackMap stack:
new org.bouncycastle.asn1.ASN1ObjectIdentifier
dup
aload 0
invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getObject:()Lorg/bouncycastle/asn1/DERObject;
invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:([B)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 obj Lorg/bouncycastle/asn1/ASN1TaggedObject;
0 4 1 explicit Z
1 4 2 o Lorg/bouncycastle/asn1/DERObject;
MethodParameters:
Name Flags
obj
explicit
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
1: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 2: lconst_0
lstore 3
start local 3 3: aconst_null
astore 5
start local 5 4: iconst_1
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 35
7: StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier byte[] java.lang.StringBuffer long java.math.BigInteger int int
StackMap stack:
aload 1
iload 7
baload
sipush 255
iand
istore 8
start local 8 8: lload 3
ldc 36028797018963968
lcmp
ifge 25
9: lload 3
ldc 128
lmul
iload 8
bipush 127
iand
i2l
ladd
lstore 3
10: iload 8
sipush 128
iand
ifne 34
11: iload 6
ifeq 21
12: lload 3
l2i
bipush 40
idiv
tableswitch { // 0 - 1
0: 13
1: 15
default: 18
}
13: StackMap locals: int
StackMap stack:
aload 2
bipush 48
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
14: goto 20
15: StackMap locals:
StackMap stack:
aload 2
bipush 49
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
16: lload 3
ldc 40
lsub
lstore 3
17: goto 20
18: StackMap locals:
StackMap stack:
aload 2
bipush 50
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
19: lload 3
ldc 80
lsub
lstore 3
20: StackMap locals:
StackMap stack:
iconst_0
istore 6
21: StackMap locals:
StackMap stack:
aload 2
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
22: aload 2
lload 3
invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
pop
23: lconst_0
lstore 3
24: goto 34
25: StackMap locals:
StackMap stack:
aload 5
ifnonnull 27
26: lload 3
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 5
27: StackMap locals:
StackMap stack:
aload 5
bipush 7
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
astore 5
28: aload 5
iload 8
bipush 127
iand
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.or:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 5
29: iload 8
sipush 128
iand
ifne 34
30: aload 2
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
31: aload 2
aload 5
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
32: aconst_null
astore 5
33: lconst_0
lstore 3
end local 8 34: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
35: iload 7
aload 1
arraylength
if_icmpne 7
end local 7 36: aload 0
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield org.bouncycastle.asn1.DERObjectIdentifier.identifier:Ljava/lang/String;
37: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 38 1 bytes [B
2 38 2 objId Ljava/lang/StringBuffer;
3 38 3 value J
4 38 5 bigValue Ljava/math/BigInteger;
5 38 6 first Z
6 36 7 i I
8 34 8 b I
MethodParameters:
Name Flags
bytes
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.asn1.ASN1Object.<init>:()V
1: aload 1
invokestatic org.bouncycastle.asn1.DERObjectIdentifier.isValidIdentifier:(Ljava/lang/String;)Z
ifne 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "string "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not an OID"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier java.lang.String
StackMap stack:
aload 0
aload 1
putfield org.bouncycastle.asn1.DERObjectIdentifier.identifier:Ljava/lang/String;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 5 1 identifier Ljava/lang/String;
MethodParameters:
Name Flags
identifier
public java.lang.String getId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.DERObjectIdentifier.identifier:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
private void writeField(java.io.OutputStream, long);
descriptor: (Ljava/io/OutputStream;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: bipush 9
newarray 8
astore 4
start local 4 1: bipush 8
istore 5
start local 5 2: aload 4
iload 5
lload 2
l2i
bipush 127
iand
i2b
bastore
3: goto 6
4: StackMap locals: byte[] int
StackMap stack:
lload 2
bipush 7
lshr
lstore 2
5: aload 4
iinc 5 -1
iload 5
lload 2
l2i
bipush 127
iand
sipush 128
ior
i2b
bastore
6: StackMap locals:
StackMap stack:
lload 2
ldc 128
lcmp
ifge 4
7: aload 1
aload 4
iload 5
bipush 9
iload 5
isub
invokevirtual java.io.OutputStream.write:([BII)V
8: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 9 1 out Ljava/io/OutputStream;
0 9 2 fieldValue J
1 9 4 result [B
2 9 5 pos I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
fieldValue
private void writeField(java.io.OutputStream, java.math.BigInteger);
descriptor: (Ljava/io/OutputStream;Ljava/math/BigInteger;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.math.BigInteger.bitLength:()I
bipush 6
iadd
bipush 7
idiv
istore 3
start local 3 1: iload 3
ifne 4
2: aload 1
iconst_0
invokevirtual java.io.OutputStream.write:(I)V
3: goto 14
4: StackMap locals: int
StackMap stack:
aload 2
astore 4
start local 4 5: iload 3
newarray 8
astore 5
start local 5 6: iload 3
iconst_1
isub
istore 6
start local 6 7: goto 11
8: StackMap locals: java.math.BigInteger byte[] int
StackMap stack:
aload 5
iload 6
aload 4
invokevirtual java.math.BigInteger.intValue:()I
bipush 127
iand
sipush 128
ior
i2b
bastore
9: aload 4
bipush 7
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
astore 4
10: iinc 6 -1
StackMap locals:
StackMap stack:
11: iload 6
ifge 8
end local 6 12: aload 5
iload 3
iconst_1
isub
dup2
baload
bipush 127
iand
i2b
bastore
13: aload 1
aload 5
invokevirtual java.io.OutputStream.write:([B)V
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 15 1 out Ljava/io/OutputStream;
0 15 2 fieldValue Ljava/math/BigInteger;
1 15 3 byteCount I
5 14 4 tmpValue Ljava/math/BigInteger;
6 14 5 tmp [B
7 12 6 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
fieldValue
void encode(org.bouncycastle.asn1.DEROutputStream);
descriptor: (Lorg/bouncycastle/asn1/DEROutputStream;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: new org.bouncycastle.asn1.OIDTokenizer
dup
aload 0
getfield org.bouncycastle.asn1.DERObjectIdentifier.identifier:Ljava/lang/String;
invokespecial org.bouncycastle.asn1.OIDTokenizer.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 2: new org.bouncycastle.asn1.DEROutputStream
dup
aload 3
invokespecial org.bouncycastle.asn1.DEROutputStream.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 3: aload 0
aload 3
4: aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
bipush 40
imul
5: aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
6: iadd
i2l
7: invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.writeField:(Ljava/io/OutputStream;J)V
8: goto 14
9: StackMap locals: org.bouncycastle.asn1.OIDTokenizer java.io.ByteArrayOutputStream org.bouncycastle.asn1.DEROutputStream
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
astore 5
start local 5 10: aload 5
invokevirtual java.lang.String.length:()I
bipush 18
if_icmpge 13
11: aload 0
aload 3
aload 5
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.writeField:(Ljava/io/OutputStream;J)V
12: goto 14
13: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 3
new java.math.BigInteger
dup
aload 5
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.writeField:(Ljava/io/OutputStream;Ljava/math/BigInteger;)V
end local 5 14: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.asn1.OIDTokenizer.hasMoreTokens:()Z
ifne 9
15: aload 4
invokevirtual org.bouncycastle.asn1.DEROutputStream.close:()V
16: aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 5
start local 5 17: aload 1
bipush 6
aload 5
invokevirtual org.bouncycastle.asn1.DEROutputStream.writeEncoded:(I[B)V
18: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 19 1 out Lorg/bouncycastle/asn1/DEROutputStream;
1 19 2 tok Lorg/bouncycastle/asn1/OIDTokenizer;
2 19 3 bOut Ljava/io/ByteArrayOutputStream;
3 19 4 dOut Lorg/bouncycastle/asn1/DEROutputStream;
10 14 5 token Ljava/lang/String;
17 19 5 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.asn1.DERObjectIdentifier.identifier:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
boolean asn1Equals(org.bouncycastle.asn1.DERObject);
descriptor: (Lorg/bouncycastle/asn1/DERObject;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.bouncycastle.asn1.DERObjectIdentifier
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.asn1.DERObjectIdentifier.identifier:Ljava/lang/String;
aload 1
checkcast org.bouncycastle.asn1.DERObjectIdentifier
getfield org.bouncycastle.asn1.DERObjectIdentifier.identifier:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 3 1 o Lorg/bouncycastle/asn1/DERObject;
MethodParameters:
Name Flags
o
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/asn1/DERObjectIdentifier;
private static boolean isValidIdentifier(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_3
if_icmplt 2
1: aload 0
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpeq 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 1
start local 1 4: iload 1
bipush 48
if_icmplt 5
iload 1
bipush 50
if_icmple 6
5: StackMap locals: int
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 7: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 3
start local 3 8: goto 20
9: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 10: bipush 48
iload 4
if_icmpgt 13
iload 4
bipush 57
if_icmpgt 13
11: iconst_1
istore 2
12: goto 19
13: StackMap locals: int
StackMap stack:
iload 4
bipush 46
if_icmpne 18
14: iload 2
ifne 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
iconst_0
istore 2
17: goto 19
18: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 19: StackMap locals:
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
20: iload 3
iconst_2
if_icmpge 9
end local 3 21: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 identifier Ljava/lang/String;
4 22 1 first C
7 22 2 periodAllowed Z
8 21 3 i I
10 19 4 ch C
MethodParameters:
Name Flags
identifier
}
SourceFile: "DERObjectIdentifier.java"