public final class sun.security.pkcs11.P11Util
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11Util
super_class: java.lang.Object
{
private static java.lang.Object LOCK;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static volatile java.security.Provider sun;
descriptor: Ljava/security/Provider;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile java.security.Provider sunRsaSign;
descriptor: Ljava/security/Provider;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile java.security.Provider sunJce;
descriptor: Ljava/security/Provider;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final char[] hexDigits;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic sun.security.pkcs11.P11Util.LOCK:Ljava/lang/Object;
1: ldc "0123456789abcdef"
invokevirtual java.lang.String.toCharArray:()[C
putstatic sun.security.pkcs11.P11Util.hexDigits:[C
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11Util;
static java.security.Provider getSunProvider();
descriptor: ()Ljava/security/Provider;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: getstatic sun.security.pkcs11.P11Util.sun:Ljava/security/Provider;
astore 0
start local 0 1: aload 0
ifnonnull 10
2: getstatic sun.security.pkcs11.P11Util.LOCK:Ljava/lang/Object;
dup
astore 1
monitorenter
3: getstatic sun.security.pkcs11.P11Util.sun:Ljava/security/Provider;
ldc "SUN"
ldc "sun.security.provider.Sun"
4: invokestatic sun.security.pkcs11.P11Util.getProvider:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider;
astore 0
5: aload 0
putstatic sun.security.pkcs11.P11Util.sun:Ljava/security/Provider;
6: aload 1
monitorexit
7: goto 10
StackMap locals: java.security.Provider java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 p Ljava/security/Provider;
Exception table:
from to target type
3 7 8 any
8 9 8 any
static java.security.Provider getSunRsaSignProvider();
descriptor: ()Ljava/security/Provider;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: getstatic sun.security.pkcs11.P11Util.sunRsaSign:Ljava/security/Provider;
astore 0
start local 0 1: aload 0
ifnonnull 10
2: getstatic sun.security.pkcs11.P11Util.LOCK:Ljava/lang/Object;
dup
astore 1
monitorenter
3: getstatic sun.security.pkcs11.P11Util.sunRsaSign:Ljava/security/Provider;
ldc "SunRsaSign"
ldc "sun.security.rsa.SunRsaSign"
4: invokestatic sun.security.pkcs11.P11Util.getProvider:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider;
astore 0
5: aload 0
putstatic sun.security.pkcs11.P11Util.sunRsaSign:Ljava/security/Provider;
6: aload 1
monitorexit
7: goto 10
StackMap locals: java.security.Provider java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 p Ljava/security/Provider;
Exception table:
from to target type
3 7 8 any
8 9 8 any
static java.security.Provider getSunJceProvider();
descriptor: ()Ljava/security/Provider;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: getstatic sun.security.pkcs11.P11Util.sunJce:Ljava/security/Provider;
astore 0
start local 0 1: aload 0
ifnonnull 10
2: getstatic sun.security.pkcs11.P11Util.LOCK:Ljava/lang/Object;
dup
astore 1
monitorenter
3: getstatic sun.security.pkcs11.P11Util.sunJce:Ljava/security/Provider;
ldc "SunJCE"
ldc "com.sun.crypto.provider.SunJCE"
4: invokestatic sun.security.pkcs11.P11Util.getProvider:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider;
astore 0
5: aload 0
putstatic sun.security.pkcs11.P11Util.sunJce:Ljava/security/Provider;
6: aload 1
monitorexit
7: goto 10
StackMap locals: java.security.Provider java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 p Ljava/security/Provider;
Exception table:
from to target type
3 7 8 any
8 9 8 any
private static java.security.Provider getProvider(java.security.Provider, java.lang.String, java.lang.String);
descriptor: (Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider;
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
ifnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
astore 0
3: aload 0
ifnonnull 11
4: aload 2
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 5: aload 3
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast java.security.Provider
astore 0
end local 3 6: goto 11
StackMap locals:
StackMap stack: java.lang.Exception
7: astore 3
start local 3 8: new java.security.ProviderException
dup
9: new java.lang.StringBuilder
dup
ldc "Could not find provider "
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;
aload 3
10: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 11: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 p Ljava/security/Provider;
0 12 1 providerName Ljava/lang/String;
0 12 2 className Ljava/lang/String;
5 6 3 clazz Ljava/lang/Class<*>;
8 11 3 e Ljava/lang/Exception;
Exception table:
from to target type
4 6 7 Class java.lang.Exception
MethodParameters:
Name Flags
p
providerName
className
static byte[] convert(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
iload 2
aload 0
arraylength
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iload 2
newarray 8
astore 3
start local 3 3: aload 0
iload 1
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 input [B
0 5 1 offset I
0 5 2 len I
3 5 3 t [B
MethodParameters:
Name Flags
input
offset
len
static byte[] subarray(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
newarray 8
astore 3
start local 3 1: aload 0
iload 1
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 b [B
0 3 1 ofs I
0 3 2 len I
1 3 3 out [B
MethodParameters:
Name Flags
b
ofs
len
static byte[] concat(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
arraylength
aload 1
arraylength
iadd
newarray 8
astore 2
start local 2 1: aload 0
iconst_0
aload 2
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
iconst_0
aload 2
aload 0
arraylength
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 b1 [B
0 4 1 b2 [B
1 4 2 b [B
MethodParameters:
Name Flags
b1
b2
static long[] concat(long[], long[]);
descriptor: ([J[J)[J
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
arraylength
ifne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
aload 1
arraylength
iadd
newarray 11
astore 2
start local 2 3: aload 0
iconst_0
aload 2
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 1
iconst_0
aload 2
aload 0
arraylength
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 b1 [J
0 6 1 b2 [J
3 6 2 b [J
MethodParameters:
Name Flags
b1
b2
public static byte[] getMagnitude(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 1
start local 1 1: aload 1
arraylength
iconst_1
if_icmple 6
aload 1
iconst_0
baload
ifne 6
2: aload 1
arraylength
iconst_1
isub
istore 2
start local 2 3: iload 2
newarray 8
astore 3
start local 3 4: aload 1
iconst_1
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 3
astore 1
end local 3 end local 2 6: StackMap locals: byte[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 bi Ljava/math/BigInteger;
1 7 1 b [B
3 6 2 n I
4 6 3 newarray [B
MethodParameters:
Name Flags
bi
static byte[] getBytesUTF8(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
1: areturn
2: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
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 s Ljava/lang/String;
3 4 1 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
0 1 2 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
s
static byte[] sha1(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc "SHA-1"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.security.MessageDigest.update:([B)V
2: aload 1
invokevirtual java.security.MessageDigest.digest:()[B
3: areturn
end local 1 4: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 1
start local 1 5: new java.security.ProviderException
dup
aload 1
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 data [B
1 4 1 md Ljava/security/MessageDigest;
5 6 1 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 3 4 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
data
static java.lang.String toString(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc "(null)"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
aload 0
arraylength
iconst_3
imul
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 11
5: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 0
iload 2
baload
sipush 255
iand
istore 3
start local 3 6: iload 2
ifeq 8
7: aload 1
bipush 58
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
8: StackMap locals: int
StackMap stack:
aload 1
getstatic sun.security.pkcs11.P11Util.hexDigits:[C
iload 3
iconst_4
iushr
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
9: aload 1
getstatic sun.security.pkcs11.P11Util.hexDigits:[C
iload 3
bipush 15
iand
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 3 10: iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
arraylength
if_icmplt 5
end local 2 12: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 b [B
3 13 1 sb Ljava/lang/StringBuffer;
4 12 2 i I
6 10 3 k I
MethodParameters:
Name Flags
b
}
SourceFile: "P11Util.java"