public final class sun.security.util.ObjectIdentifier implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.util.ObjectIdentifier
super_class: java.lang.Object
{
private static final int MAXIMUM_OID_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
private byte[] encoding;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private volatile transient java.lang.String stringForm;
descriptor: Ljava/lang/String;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8697030238860181294
private java.lang.Object components;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private int componentLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private transient boolean componentsCalculated;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/security/util/ObjectIdentifier;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.security.util.ObjectIdentifier.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
ifnonnull 8
2: aload 0
getfield sun.security.util.ObjectIdentifier.components:Ljava/lang/Object;
checkcast int[]
astore 2
start local 2 3: aload 0
getfield sun.security.util.ObjectIdentifier.componentLen:I
aload 2
arraylength
if_icmple 5
4: aload 0
aload 2
arraylength
putfield sun.security.util.ObjectIdentifier.componentLen:I
5: StackMap locals: int[]
StackMap stack:
aload 0
getfield sun.security.util.ObjectIdentifier.componentLen:I
invokestatic sun.security.util.ObjectIdentifier.checkOidSize:(I)V
6: aload 0
aload 2
aload 0
getfield sun.security.util.ObjectIdentifier.componentLen:I
invokevirtual sun.security.util.ObjectIdentifier.init:([II)V
end local 2 7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
arraylength
invokestatic sun.security.util.ObjectIdentifier.checkOidSize:(I)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/util/ObjectIdentifier;
0 10 1 is Ljava/io/ObjectInputStream;
3 7 2 comp [I
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
is
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.util.ObjectIdentifier.componentsCalculated:Z
ifne 8
1: aload 0
invokevirtual sun.security.util.ObjectIdentifier.toIntArray:()[I
astore 2
start local 2 2: aload 2
ifnull 6
3: aload 0
aload 2
putfield sun.security.util.ObjectIdentifier.components:Ljava/lang/Object;
4: aload 0
aload 2
arraylength
putfield sun.security.util.ObjectIdentifier.componentLen:I
5: goto 7
6: StackMap locals: int[]
StackMap stack:
aload 0
getstatic sun.security.util.ObjectIdentifier$HugeOidNotSupportedByOldJDK.theOne:Lsun/security/util/ObjectIdentifier$HugeOidNotSupportedByOldJDK;
putfield sun.security.util.ObjectIdentifier.components:Ljava/lang/Object;
7: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.util.ObjectIdentifier.componentsCalculated:Z
end local 2 8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/util/ObjectIdentifier;
0 10 1 os Ljava/io/ObjectOutputStream;
2 8 2 comps [I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
os
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.encoding:[B
2: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.components:Ljava/lang/Object;
3: aload 0
iconst_m1
putfield sun.security.util.ObjectIdentifier.componentLen:I
4: aload 0
iconst_0
putfield sun.security.util.ObjectIdentifier.componentsCalculated:Z
5: bipush 46
istore 2
start local 2 6: iconst_0
istore 3
start local 3 7: iconst_0
istore 4
start local 4 8: iconst_0
istore 5
start local 5 9: aload 1
invokevirtual java.lang.String.length:()I
newarray 8
astore 6
start local 6 10: iconst_0
istore 7
start local 7 11: iconst_0
istore 8
start local 8 12: aconst_null
astore 9
start local 9 13: StackMap locals: sun.security.util.ObjectIdentifier java.lang.String int int int int byte[] int int java.lang.String
StackMap stack:
iconst_0
istore 10
start local 10 14: aload 1
iload 2
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 4
15: iload 4
iconst_m1
if_icmpne 19
16: aload 1
iload 3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
17: aload 1
invokevirtual java.lang.String.length:()I
iload 3
isub
istore 10
18: goto 21
19: StackMap locals: int
StackMap stack:
aload 1
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
20: iload 4
iload 3
isub
istore 10
21: StackMap locals:
StackMap stack:
iload 10
bipush 9
if_icmple 34
22: new java.math.BigInteger
dup
aload 9
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
astore 11
start local 11 23: iload 8
ifne 27
24: aload 11
invokestatic sun.security.util.ObjectIdentifier.checkFirstComponent:(Ljava/math/BigInteger;)V
25: aload 11
invokevirtual java.math.BigInteger.intValue:()I
istore 7
26: goto 45
27: StackMap locals: java.math.BigInteger
StackMap stack:
iload 8
iconst_1
if_icmpne 31
28: iload 7
aload 11
invokestatic sun.security.util.ObjectIdentifier.checkSecondComponent:(ILjava/math/BigInteger;)V
29: aload 11
bipush 40
iload 7
imul
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 11
30: goto 32
31: StackMap locals:
StackMap stack:
iload 8
aload 11
invokestatic sun.security.util.ObjectIdentifier.checkOtherComponent:(ILjava/math/BigInteger;)V
32: StackMap locals:
StackMap stack:
iload 5
aload 11
aload 6
iload 5
invokestatic sun.security.util.ObjectIdentifier.pack7Oid:(Ljava/math/BigInteger;[BI)I
iadd
istore 5
end local 11 33: goto 45
34: StackMap locals:
StackMap stack:
aload 9
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 11
start local 11 35: iload 8
ifne 39
36: iload 11
invokestatic sun.security.util.ObjectIdentifier.checkFirstComponent:(I)V
37: iload 11
istore 7
38: goto 45
39: StackMap locals: int
StackMap stack:
iload 8
iconst_1
if_icmpne 43
40: iload 7
iload 11
invokestatic sun.security.util.ObjectIdentifier.checkSecondComponent:(II)V
41: iload 11
bipush 40
iload 7
imul
iadd
istore 11
42: goto 44
43: StackMap locals:
StackMap stack:
iload 8
iload 11
invokestatic sun.security.util.ObjectIdentifier.checkOtherComponent:(II)V
44: StackMap locals:
StackMap stack:
iload 5
iload 11
aload 6
iload 5
invokestatic sun.security.util.ObjectIdentifier.pack7Oid:(I[BI)I
iadd
istore 5
end local 11 45: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
istore 3
46: iinc 8 1
47: iload 5
invokestatic sun.security.util.ObjectIdentifier.checkOidSize:(I)V
end local 10 48: iload 4
iconst_m1
if_icmpne 13
49: iload 8
invokestatic sun.security.util.ObjectIdentifier.checkCount:(I)V
50: aload 0
iload 5
newarray 8
putfield sun.security.util.ObjectIdentifier.encoding:[B
51: aload 6
iconst_0
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
52: aload 0
aload 1
putfield sun.security.util.ObjectIdentifier.stringForm:Ljava/lang/String;
end local 9 53: goto 60
StackMap locals: sun.security.util.ObjectIdentifier java.lang.String int int int int byte[] int int
StackMap stack: java.io.IOException
54: astore 9
start local 9 55: aload 9
athrow
end local 9 56: StackMap locals:
StackMap stack: java.lang.Exception
astore 9
start local 9 57: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "ObjectIdentifier() -- Invalid format: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
58: aload 9
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
59: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 60: StackMap locals:
StackMap stack:
return
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 61 0 this Lsun/security/util/ObjectIdentifier;
0 61 1 oid Ljava/lang/String;
6 61 2 ch I
7 61 3 start I
8 61 4 end I
9 61 5 pos I
10 61 6 tmp [B
11 61 7 first I
12 61 8 count I
13 53 9 comp Ljava/lang/String;
14 48 10 length I
23 33 11 bignum Ljava/math/BigInteger;
35 45 11 num I
55 56 9 ioe Ljava/io/IOException;
57 60 9 e Ljava/lang/Exception;
Exception table:
from to target type
12 53 54 Class java.io.IOException
12 53 56 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
oid
public void <init>(int[]);
descriptor: ([I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.encoding:[B
2: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.components:Ljava/lang/Object;
3: aload 0
iconst_m1
putfield sun.security.util.ObjectIdentifier.componentLen:I
4: aload 0
iconst_0
putfield sun.security.util.ObjectIdentifier.componentsCalculated:Z
5: aload 1
arraylength
invokestatic sun.security.util.ObjectIdentifier.checkCount:(I)V
6: aload 1
iconst_0
iaload
invokestatic sun.security.util.ObjectIdentifier.checkFirstComponent:(I)V
7: aload 1
iconst_0
iaload
aload 1
iconst_1
iaload
invokestatic sun.security.util.ObjectIdentifier.checkSecondComponent:(II)V
8: iconst_2
istore 2
start local 2 9: goto 12
10: StackMap locals: sun.security.util.ObjectIdentifier int[] int
StackMap stack:
iload 2
aload 1
iload 2
iaload
invokestatic sun.security.util.ObjectIdentifier.checkOtherComponent:(II)V
11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 1
arraylength
if_icmplt 10
end local 2 13: aload 0
aload 1
aload 1
arraylength
invokevirtual sun.security.util.ObjectIdentifier.init:([II)V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/util/ObjectIdentifier;
0 15 1 values [I
9 13 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
values
public void <init>(sun.security.util.DerInputStream);
descriptor: (Lsun/security/util/DerInputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.encoding:[B
2: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.components:Ljava/lang/Object;
3: aload 0
iconst_m1
putfield sun.security.util.ObjectIdentifier.componentLen:I
4: aload 0
iconst_0
putfield sun.security.util.ObjectIdentifier.componentsCalculated:Z
5: aload 1
invokevirtual sun.security.util.DerInputStream.getByte:()I
i2b
istore 2
start local 2 6: iload 2
bipush 6
if_icmpeq 12
7: new java.io.IOException
dup
8: new java.lang.StringBuilder
dup
ldc "ObjectIdentifier() -- data isn't an object ID (tag = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: sun.security.util.ObjectIdentifier sun.security.util.DerInputStream int
StackMap stack:
aload 1
invokevirtual sun.security.util.DerInputStream.getDefiniteLength:()I
istore 3
start local 3 13: iload 3
invokestatic sun.security.util.ObjectIdentifier.checkOidSize:(I)V
14: iload 3
aload 1
invokevirtual sun.security.util.DerInputStream.available:()I
if_icmple 19
15: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "ObjectIdentifier length exceeds data available. Length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", Available: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: aload 1
invokevirtual sun.security.util.DerInputStream.available:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: int
StackMap stack:
aload 0
iload 3
newarray 8
putfield sun.security.util.ObjectIdentifier.encoding:[B
20: aload 1
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
invokevirtual sun.security.util.DerInputStream.getBytes:([B)V
21: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
invokestatic sun.security.util.ObjectIdentifier.check:([B)V
22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/util/ObjectIdentifier;
0 23 1 in Lsun/security/util/DerInputStream;
6 23 2 type_id B
13 23 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
void <init>(sun.security.util.DerInputBuffer);
descriptor: (Lsun/security/util/DerInputBuffer;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.encoding:[B
2: aload 0
aconst_null
putfield sun.security.util.ObjectIdentifier.components:Ljava/lang/Object;
3: aload 0
iconst_m1
putfield sun.security.util.ObjectIdentifier.componentLen:I
4: aload 0
iconst_0
putfield sun.security.util.ObjectIdentifier.componentsCalculated:Z
5: new sun.security.util.DerInputStream
dup
aload 1
invokespecial sun.security.util.DerInputStream.<init>:(Lsun/security/util/DerInputBuffer;)V
astore 2
start local 2 6: aload 2
invokevirtual sun.security.util.DerInputStream.available:()I
istore 3
start local 3 7: iload 3
invokestatic sun.security.util.ObjectIdentifier.checkOidSize:(I)V
8: aload 0
iload 3
newarray 8
putfield sun.security.util.ObjectIdentifier.encoding:[B
9: aload 2
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
invokevirtual sun.security.util.DerInputStream.getBytes:([B)V
10: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
invokestatic sun.security.util.ObjectIdentifier.check:([B)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/util/ObjectIdentifier;
0 12 1 buf Lsun/security/util/DerInputBuffer;
6 12 2 in Lsun/security/util/DerInputStream;
7 12 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
private void init(int[], int);
descriptor: ([II)V
flags: (0x0002) ACC_PRIVATE
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: iload 2
iconst_5
imul
iconst_1
iadd
newarray 8
astore 4
start local 4 2: aload 1
iconst_1
iaload
ldc 2147483647
aload 1
iconst_0
iaload
bipush 40
imul
isub
if_icmpge 5
3: iload 3
aload 1
iconst_0
iaload
bipush 40
imul
aload 1
iconst_1
iaload
iadd
aload 4
iload 3
invokestatic sun.security.util.ObjectIdentifier.pack7Oid:(I[BI)I
iadd
istore 3
4: goto 8
5: StackMap locals: int byte[]
StackMap stack:
aload 1
iconst_1
iaload
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 5
start local 5 6: aload 5
aload 1
iconst_0
iaload
bipush 40
imul
i2l
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 5
7: iload 3
aload 5
aload 4
iload 3
invokestatic sun.security.util.ObjectIdentifier.pack7Oid:(Ljava/math/BigInteger;[BI)I
iadd
istore 3
end local 5 8: StackMap locals:
StackMap stack:
iconst_2
istore 5
start local 5 9: goto 13
10: StackMap locals: int
StackMap stack:
iload 3
aload 1
iload 5
iaload
aload 4
iload 3
invokestatic sun.security.util.ObjectIdentifier.pack7Oid:(I[BI)I
iadd
istore 3
11: iload 3
invokestatic sun.security.util.ObjectIdentifier.checkOidSize:(I)V
12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 2
if_icmplt 10
end local 5 14: aload 0
iload 3
newarray 8
putfield sun.security.util.ObjectIdentifier.encoding:[B
15: aload 4
iconst_0
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/util/ObjectIdentifier;
0 17 1 components [I
0 17 2 length I
1 17 3 pos I
2 17 4 tmp [B
6 8 5 big Ljava/math/BigInteger;
9 14 5 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
components
length
public static sun.security.util.ObjectIdentifier newInternal(int[]);
descriptor: ([I)Lsun/security/util/ObjectIdentifier;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new sun.security.util.ObjectIdentifier
dup
aload 0
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 values [I
3 4 1 ex Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
values
void encode(sun.security.util.DerOutputStream);
descriptor: (Lsun/security/util/DerOutputStream;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
bipush 6
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
invokevirtual sun.security.util.DerOutputStream.write:(B[B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/util/ObjectIdentifier;
0 2 1 out Lsun/security/util/DerOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.security.util.ObjectIdentifier
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast sun.security.util.ObjectIdentifier
astore 2
start local 2 5: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
aload 2
getfield sun.security.util.ObjectIdentifier.encoding:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/util/ObjectIdentifier;
0 6 1 obj Ljava/lang/Object;
5 6 2 other Lsun/security/util/ObjectIdentifier;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
invokestatic java.util.Arrays.hashCode:([B)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/util/ObjectIdentifier;
private int[] toIntArray();
descriptor: ()[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
arraylength
istore 1
start local 1 1: bipush 20
newarray 10
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 41
6: StackMap locals: sun.security.util.ObjectIdentifier int int[] int int int
StackMap stack:
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iload 5
baload
sipush 128
iand
ifne 38
7: iload 5
iload 4
isub
iconst_1
iadd
iconst_4
if_icmple 20
8: new java.math.BigInteger
dup
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iload 4
iload 5
iload 4
isub
iconst_1
iadd
bipush 7
bipush 8
invokestatic sun.security.util.ObjectIdentifier.pack:([BIIII)[B
invokespecial java.math.BigInteger.<init>:([B)V
astore 6
start local 6 9: iload 4
ifne 16
10: aload 2
iload 3
iinc 3 1
iconst_2
iastore
11: aload 6
ldc 80
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 7
start local 7 12: aload 7
ldc 2147483647
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iconst_1
if_icmpne 14
13: aconst_null
areturn
14: StackMap locals: java.math.BigInteger java.math.BigInteger
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 7
invokevirtual java.math.BigInteger.intValue:()I
iastore
end local 7 15: goto 37
16: StackMap locals:
StackMap stack:
aload 6
ldc 2147483647
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iconst_1
if_icmpne 18
17: aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 6
invokevirtual java.math.BigInteger.intValue:()I
iastore
end local 6 19: goto 37
20: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 21: iload 4
istore 7
start local 7 22: goto 27
23: StackMap locals: int int
StackMap stack:
iload 6
bipush 7
ishl
istore 6
24: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iload 7
baload
istore 8
start local 8 25: iload 6
iload 8
bipush 127
iand
ior
istore 6
end local 8 26: iinc 7 1
StackMap locals:
StackMap stack:
27: iload 7
iload 5
if_icmple 23
end local 7 28: iload 4
ifne 36
29: iload 6
bipush 80
if_icmpge 33
30: aload 2
iload 3
iinc 3 1
iload 6
bipush 40
idiv
iastore
31: aload 2
iload 3
iinc 3 1
iload 6
bipush 40
irem
iastore
32: goto 37
33: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iconst_2
iastore
34: aload 2
iload 3
iinc 3 1
iload 6
bipush 80
isub
iastore
35: goto 37
36: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 6
iastore
end local 6 37: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
istore 4
38: StackMap locals:
StackMap stack:
iload 3
aload 2
arraylength
if_icmplt 40
39: aload 2
iload 3
bipush 10
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
astore 2
40: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
41: iload 5
iload 1
if_icmplt 6
end local 5 42: aload 2
iload 3
invokestatic java.util.Arrays.copyOf:([II)[I
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/security/util/ObjectIdentifier;
1 43 1 length I
2 43 2 result [I
3 43 3 which I
4 43 4 fromPos I
5 42 5 i I
9 19 6 big Ljava/math/BigInteger;
12 15 7 second Ljava/math/BigInteger;
21 37 6 retval I
22 28 7 j I
25 26 8 tmp B
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.security.util.ObjectIdentifier.stringForm:Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 41
2: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
arraylength
istore 2
start local 2 3: new java.lang.StringBuilder
dup
iload 2
iconst_4
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 38
7: StackMap locals: sun.security.util.ObjectIdentifier java.lang.String int java.lang.StringBuilder int int
StackMap stack:
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iload 5
baload
sipush 128
iand
ifne 37
8: iload 4
ifeq 10
9: aload 3
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: StackMap locals:
StackMap stack:
iload 5
iload 4
isub
iconst_1
iadd
iconst_4
if_icmple 18
11: new java.math.BigInteger
dup
aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iload 4
iload 5
iload 4
isub
iconst_1
iadd
bipush 7
bipush 8
invokestatic sun.security.util.ObjectIdentifier.pack:([BIIII)[B
invokespecial java.math.BigInteger.<init>:([B)V
astore 6
start local 6 12: iload 4
ifne 16
13: aload 3
ldc "2."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 3
aload 6
ldc 80
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
15: goto 36
16: StackMap locals: java.math.BigInteger
StackMap stack:
aload 3
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 6 17: goto 36
18: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 19: iload 4
istore 7
start local 7 20: goto 25
21: StackMap locals: int int
StackMap stack:
iload 6
bipush 7
ishl
istore 6
22: aload 0
getfield sun.security.util.ObjectIdentifier.encoding:[B
iload 7
baload
istore 8
start local 8 23: iload 6
iload 8
bipush 127
iand
ior
istore 6
end local 8 24: iinc 7 1
StackMap locals:
StackMap stack:
25: iload 7
iload 5
if_icmple 21
end local 7 26: iload 4
ifne 35
27: iload 6
bipush 80
if_icmpge 32
28: aload 3
iload 6
bipush 40
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
29: aload 3
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
30: aload 3
iload 6
bipush 40
irem
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
31: goto 36
32: StackMap locals:
StackMap stack:
aload 3
ldc "2."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: aload 3
iload 6
bipush 80
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
34: goto 36
35: StackMap locals:
StackMap stack:
aload 3
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
end local 6 36: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
istore 4
37: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
38: iload 5
iload 2
if_icmplt 7
end local 5 39: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
40: aload 0
aload 1
putfield sun.security.util.ObjectIdentifier.stringForm:Ljava/lang/String;
end local 4 end local 3 end local 2 41: StackMap locals: sun.security.util.ObjectIdentifier java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/security/util/ObjectIdentifier;
1 42 1 s Ljava/lang/String;
3 41 2 length I
4 41 3 sb Ljava/lang/StringBuilder;
5 41 4 fromPos I
6 39 5 i I
12 17 6 big Ljava/math/BigInteger;
19 36 6 retval I
20 26 7 j I
23 24 8 tmp B
private static byte[] pack(byte[], int, int, int, int);
descriptor: ([BIIII)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic sun.security.util.ObjectIdentifier.$assertionsDisabled:Z
ifne 2
iload 3
ifle 1
iload 3
bipush 8
if_icmple 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
ldc "input NUB must be between 1 and 8"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic sun.security.util.ObjectIdentifier.$assertionsDisabled:Z
ifne 4
iload 4
ifle 3
iload 4
bipush 8
if_icmple 4
StackMap locals:
StackMap stack:
3: new java.lang.AssertionError
dup
ldc "output NUB must be between 1 and 8"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpne 6
5: aload 0
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
areturn
6: StackMap locals:
StackMap stack:
iload 2
iload 3
imul
istore 5
start local 5 7: iload 5
iload 4
iadd
iconst_1
isub
iload 4
idiv
newarray 8
astore 6
start local 6 8: iconst_0
istore 7
start local 7 9: iload 5
iload 4
iadd
iconst_1
isub
iload 4
idiv
iload 4
imul
iload 5
isub
istore 8
start local 8 10: goto 25
11: StackMap locals: byte[] int int int int int byte[] int int
StackMap stack:
iload 3
iload 7
iload 3
irem
isub
istore 9
start local 9 12: iload 9
iload 4
iload 8
iload 4
irem
isub
if_icmple 14
13: iload 4
iload 8
iload 4
irem
isub
istore 9
14: StackMap locals: int
StackMap stack:
aload 6
iload 8
iload 4
idiv
dup2
baload
15: aload 0
iload 1
iload 7
iload 3
idiv
iadd
baload
sipush 256
iadd
16: iload 3
iload 7
iload 3
irem
isub
iload 9
isub
17: ishr
18: iconst_1
iload 9
ishl
iconst_1
isub
19: iand
20: iload 4
iload 8
iload 4
irem
isub
iload 9
isub
21: ishl
22: ior
i2b
bastore
23: iload 7
iload 9
iadd
istore 7
24: iload 8
iload 9
iadd
istore 8
end local 9 25: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmplt 11
26: aload 6
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 27 0 in [B
0 27 1 ioffset I
0 27 2 ilength I
0 27 3 iw I
0 27 4 ow I
7 27 5 bits I
8 27 6 out [B
9 27 7 ipos I
10 27 8 opos I
12 25 9 count I
MethodParameters:
Name Flags
in
ioffset
ilength
iw
ow
private static int pack7Oid(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
bipush 8
bipush 7
invokestatic sun.security.util.ObjectIdentifier.pack:([BIIII)[B
astore 5
start local 5 1: aload 5
arraylength
iconst_1
isub
istore 6
start local 6 2: aload 5
arraylength
iconst_2
isub
istore 7
start local 7 3: goto 8
4: StackMap locals: byte[] int int
StackMap stack:
aload 5
iload 7
baload
ifeq 6
5: iload 7
istore 6
6: StackMap locals:
StackMap stack:
aload 5
iload 7
dup2
baload
sipush 128
ior
i2b
bastore
7: iinc 7 -1
StackMap locals:
StackMap stack:
8: iload 7
ifge 4
end local 7 9: aload 5
iload 6
aload 3
iload 4
aload 5
arraylength
iload 6
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 5
arraylength
iload 6
isub
ireturn
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 11 0 in [B
0 11 1 ioffset I
0 11 2 ilength I
0 11 3 out [B
0 11 4 ooffset I
1 11 5 pack [B
2 11 6 firstNonZero I
3 9 7 i I
MethodParameters:
Name Flags
in
ioffset
ilength
out
ooffset
private static int pack8(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
bipush 7
bipush 8
invokestatic sun.security.util.ObjectIdentifier.pack:([BIIII)[B
astore 5
start local 5 1: aload 5
arraylength
iconst_1
isub
istore 6
start local 6 2: aload 5
arraylength
iconst_2
isub
istore 7
start local 7 3: goto 7
4: StackMap locals: byte[] int int
StackMap stack:
aload 5
iload 7
baload
ifeq 6
5: iload 7
istore 6
6: StackMap locals:
StackMap stack:
iinc 7 -1
StackMap locals:
StackMap stack:
7: iload 7
ifge 4
end local 7 8: aload 5
iload 6
aload 3
iload 4
aload 5
arraylength
iload 6
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 5
arraylength
iload 6
isub
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 in [B
0 10 1 ioffset I
0 10 2 ilength I
0 10 3 out [B
0 10 4 ooffset I
1 10 5 pack [B
2 10 6 firstNonZero I
3 8 7 i I
MethodParameters:
Name Flags
in
ioffset
ilength
out
ooffset
private static int pack7Oid(int, byte[], int);
descriptor: (I[BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_4
newarray 8
astore 3
start local 3 1: aload 3
iconst_0
iload 0
bipush 24
ishr
i2b
bastore
2: aload 3
iconst_1
iload 0
bipush 16
ishr
i2b
bastore
3: aload 3
iconst_2
iload 0
bipush 8
ishr
i2b
bastore
4: aload 3
iconst_3
iload 0
i2b
bastore
5: aload 3
iconst_0
iconst_4
aload 1
iload 2
invokestatic sun.security.util.ObjectIdentifier.pack7Oid:([BII[BI)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 input I
0 6 1 out [B
0 6 2 ooffset I
1 6 3 b [B
MethodParameters:
Name Flags
input
out
ooffset
private static int pack7Oid(java.math.BigInteger, byte[], int);
descriptor: (Ljava/math/BigInteger;[BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 3
start local 3 1: aload 3
iconst_0
aload 3
arraylength
aload 1
iload 2
invokestatic sun.security.util.ObjectIdentifier.pack7Oid:([BII[BI)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 input Ljava/math/BigInteger;
0 2 1 out [B
0 2 2 ooffset I
1 2 3 b [B
MethodParameters:
Name Flags
input
out
ooffset
private static void check(byte[]);
descriptor: ([B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
iconst_1
if_icmplt 3
2: aload 0
iload 1
iconst_1
isub
baload
sipush 128
iand
ifeq 4
3: StackMap locals: int
StackMap stack:
new java.io.IOException
dup
ldc "ObjectIdentifier() -- Invalid DER encoding, not ended"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: goto 10
6: StackMap locals: int
StackMap stack:
aload 0
iload 2
baload
bipush -128
if_icmpne 9
7: iload 2
ifeq 8
aload 0
iload 2
iconst_1
isub
baload
sipush 128
iand
ifne 9
8: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "ObjectIdentifier() -- Invalid DER encoding, useless extra octet detected"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
iload 1
if_icmplt 6
end local 2 11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 encoding [B
1 12 1 length I
5 11 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
encoding
private static void checkCount(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iconst_2
if_icmpge 2
1: new java.io.IOException
dup
ldc "ObjectIdentifier() -- Must be at least two oid components "
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 count I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
count
private static void checkFirstComponent(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iflt 1
iload 0
iconst_2
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "ObjectIdentifier() -- First oid component is invalid "
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 first I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
first
private static void checkFirstComponent(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpeq 1
aload 0
getstatic java.math.BigInteger.TWO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 2
1: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "ObjectIdentifier() -- First oid component is invalid "
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 first Ljava/math/BigInteger;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
first
private static void checkSecondComponent(int, int);
descriptor: (II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 0
iconst_2
if_icmpeq 2
iload 1
bipush 39
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "ObjectIdentifier() -- Second oid component is invalid "
invokespecial java.io.IOException.<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 first I
0 3 1 second I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
first
second
private static void checkSecondComponent(int, java.math.BigInteger);
descriptor: (ILjava/math/BigInteger;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpeq 3
1: iload 0
iconst_2
if_icmpeq 4
2: aload 1
ldc 39
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iconst_1
if_icmpne 4
3: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "ObjectIdentifier() -- Second oid component is invalid "
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 first I
0 5 1 second Ljava/math/BigInteger;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
first
second
private static void checkOtherComponent(int, int);
descriptor: (II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifge 4
1: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "ObjectIdentifier() -- oid component #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: iload 0
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " must be non-negative "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 i I
0 5 1 num I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
i
num
private static void checkOtherComponent(int, java.math.BigInteger);
descriptor: (ILjava/math/BigInteger;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 4
1: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "ObjectIdentifier() -- oid component #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: iload 0
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " must be non-negative "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 i I
0 5 1 num Ljava/math/BigInteger;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
i
num
private static void checkOidSize(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iload 0
sipush 4096
if_icmple 7
1: new java.io.IOException
dup
2: new java.lang.StringBuilder
dup
ldc "ObjectIdentifier encoded length exceeds the restriction in JDK (OId length(>=): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: ldc ", Restriction: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
sipush 4096
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 oidLength I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
oidLength
}
SourceFile: "ObjectIdentifier.java"
NestMembers:
sun.security.util.ObjectIdentifier$HugeOidNotSupportedByOldJDK
InnerClasses:
HugeOidNotSupportedByOldJDK = sun.security.util.ObjectIdentifier$HugeOidNotSupportedByOldJDK of sun.security.util.ObjectIdentifier