public class java.security.KeyRep implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.security.KeyRep
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -4757683898830641853
private static final java.lang.String PKCS8;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS#8"
private static final java.lang.String X509;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "X.509"
private static final java.lang.String RAW;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "RAW"
private java.security.KeyRep$Type type;
descriptor: Ljava/security/KeyRep$Type;
flags: (0x0002) ACC_PRIVATE
private java.lang.String algorithm;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String format;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private byte[] encoded;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
public void <init>(java.security.KeyRep$Type, java.lang.String, java.lang.String, byte[]);
descriptor: (Ljava/security/KeyRep$Type;Ljava/lang/String;Ljava/lang/String;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnull 3
aload 2
ifnull 3
2: aload 3
ifnull 3
aload 4
ifnonnull 4
3: StackMap locals: java.security.KeyRep java.security.KeyRep$Type java.lang.String java.lang.String byte[]
StackMap stack:
new java.lang.NullPointerException
dup
ldc "invalid null input(s)"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.security.KeyRep.type:Ljava/security/KeyRep$Type;
5: aload 0
aload 2
putfield java.security.KeyRep.algorithm:Ljava/lang/String;
6: aload 0
aload 3
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield java.security.KeyRep.format:Ljava/lang/String;
7: aload 0
aload 4
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
putfield java.security.KeyRep.encoded:[B
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/security/KeyRep;
0 9 1 type Ljava/security/KeyRep$Type;
0 9 2 algorithm Ljava/lang/String;
0 9 3 format Ljava/lang/String;
0 9 4 encoded [B
MethodParameters:
Name Flags
type
algorithm
format
encoded
protected java.lang.Object readResolve();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield java.security.KeyRep.type:Ljava/security/KeyRep$Type;
getstatic java.security.KeyRep$Type.SECRET:Ljava/security/KeyRep$Type;
if_acmpne 3
ldc "RAW"
aload 0
getfield java.security.KeyRep.format:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: new javax.crypto.spec.SecretKeySpec
dup
aload 0
getfield java.security.KeyRep.encoded:[B
aload 0
getfield java.security.KeyRep.algorithm:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
2: areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield java.security.KeyRep.type:Ljava/security/KeyRep$Type;
getstatic java.security.KeyRep$Type.PUBLIC:Ljava/security/KeyRep$Type;
if_acmpne 7
ldc "X.509"
aload 0
getfield java.security.KeyRep.format:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
getfield java.security.KeyRep.algorithm:Ljava/lang/String;
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 1
start local 1 5: aload 1
new java.security.spec.X509EncodedKeySpec
dup
aload 0
getfield java.security.KeyRep.encoded:[B
invokespecial java.security.spec.X509EncodedKeySpec.<init>:([B)V
invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
6: areturn
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield java.security.KeyRep.type:Ljava/security/KeyRep$Type;
getstatic java.security.KeyRep$Type.PRIVATE:Ljava/security/KeyRep$Type;
if_acmpne 11
ldc "PKCS#8"
aload 0
getfield java.security.KeyRep.format:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
8: aload 0
getfield java.security.KeyRep.algorithm:Ljava/lang/String;
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 1
start local 1 9: aload 1
new java.security.spec.PKCS8EncodedKeySpec
dup
aload 0
getfield java.security.KeyRep.encoded:[B
invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
10: areturn
end local 1 11: StackMap locals:
StackMap stack:
new java.io.NotSerializableException
dup
12: new java.lang.StringBuilder
dup
ldc "unrecognized type/format combination: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
getfield java.security.KeyRep.type:Ljava/security/KeyRep$Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.security.KeyRep.format:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.io.NotSerializableException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack: java.io.NotSerializableException
astore 1
start local 1 17: aload 1
athrow
end local 1 18: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 19: new java.io.NotSerializableException
dup
20: new java.lang.StringBuilder
dup
ldc "java.security.Key: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: aload 0
getfield java.security.KeyRep.type:Ljava/security/KeyRep$Type;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.security.KeyRep.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.security.KeyRep.format:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokespecial java.io.NotSerializableException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 26: aload 2
aload 1
invokevirtual java.io.NotSerializableException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
27: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljava/security/KeyRep;
5 7 1 f Ljava/security/KeyFactory;
9 11 1 f Ljava/security/KeyFactory;
17 18 1 nse Ljava/io/NotSerializableException;
19 28 1 e Ljava/lang/Exception;
26 28 2 nse Ljava/io/NotSerializableException;
Exception table:
from to target type
0 2 16 Class java.io.NotSerializableException
3 6 16 Class java.io.NotSerializableException
7 10 16 Class java.io.NotSerializableException
11 16 16 Class java.io.NotSerializableException
0 2 18 Class java.lang.Exception
3 6 18 Class java.lang.Exception
7 10 18 Class java.lang.Exception
11 16 18 Class java.lang.Exception
Exceptions:
throws java.io.ObjectStreamException
}
SourceFile: "KeyRep.java"
NestMembers:
java.security.KeyRep$Type
InnerClasses:
public final Type = java.security.KeyRep$Type of java.security.KeyRep