final class sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator extends javax.crypto.KeyGeneratorSpi
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator
super_class: javax.crypto.KeyGeneratorSpi
{
private static final java.lang.String MSG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "TlsRsaPremasterSecretGenerator must be initialized using a TlsRsaPremasterSecretParameterSpec"
private final sun.security.pkcs11.Token token;
descriptor: Lsun/security/pkcs11/Token;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String algorithm;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long mechanism;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int version;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec spec;
descriptor: Lsun/security/internal/spec/TlsRsaPremasterSecretParameterSpec;
flags: (0x0002) ACC_PRIVATE
void <init>(sun.security.pkcs11.Token, java.lang.String, long);
descriptor: (Lsun/security/pkcs11/Token;Ljava/lang/String;J)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial javax.crypto.KeyGeneratorSpi.<init>:()V
1: aload 0
aload 1
putfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.token:Lsun/security/pkcs11/Token;
2: aload 0
aload 2
putfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.algorithm:Ljava/lang/String;
3: aload 0
lload 3
putfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.mechanism:J
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs11/P11TlsRsaPremasterSecretGenerator;
0 5 1 token Lsun/security/pkcs11/Token;
0 5 2 algorithm Ljava/lang/String;
0 5 3 mechanism J
Exceptions:
throws sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
token
algorithm
mechanism
protected void engineInit(java.security.SecureRandom);
descriptor: (Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.security.InvalidParameterException
dup
ldc "TlsRsaPremasterSecretGenerator must be initialized using a TlsRsaPremasterSecretParameterSpec"
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/P11TlsRsaPremasterSecretGenerator;
0 1 1 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
random
protected void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec
ifne 2
1: new java.security.InvalidAlgorithmParameterException
dup
ldc "TlsRsaPremasterSecretGenerator must be initialized using a TlsRsaPremasterSecretParameterSpec"
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec
putfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.spec:Lsun/security/internal/spec/TlsRsaPremasterSecretParameterSpec;
3: aload 0
aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.spec:Lsun/security/internal/spec/TlsRsaPremasterSecretParameterSpec;
invokevirtual sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec.getMajorVersion:()I
bipush 8
ishl
aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.spec:Lsun/security/internal/spec/TlsRsaPremasterSecretParameterSpec;
invokevirtual sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec.getMinorVersion:()I
ior
putfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.version:I
4: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.version:I
sipush 768
if_icmpge 8
aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.version:I
sipush 771
if_icmple 8
5: new java.security.InvalidAlgorithmParameterException
dup
6: ldc "Only SSL 3.0, TLS 1.0, TLS 1.1, and TLS 1.2 are supported"
7: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs11/P11TlsRsaPremasterSecretGenerator;
0 9 1 params Ljava/security/spec/AlgorithmParameterSpec;
0 9 2 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
random
protected void engineInit(int, java.security.SecureRandom);
descriptor: (ILjava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.security.InvalidParameterException
dup
ldc "TlsRsaPremasterSecretGenerator must be initialized using a TlsRsaPremasterSecretParameterSpec"
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/P11TlsRsaPremasterSecretGenerator;
0 1 1 keysize I
0 1 2 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
keysize
random
protected javax.crypto.SecretKey engineGenerateKey();
descriptor: ()Ljavax/crypto/SecretKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=9, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.spec:Lsun/security/internal/spec/TlsRsaPremasterSecretParameterSpec;
ifnonnull 4
1: new java.lang.IllegalStateException
dup
2: ldc "TlsRsaPremasterSecretGenerator must be initialized"
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new sun.security.pkcs11.wrapper.CK_VERSION
dup
5: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.spec:Lsun/security/internal/spec/TlsRsaPremasterSecretParameterSpec;
invokevirtual sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec.getMajorVersion:()I
aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.spec:Lsun/security/internal/spec/TlsRsaPremasterSecretParameterSpec;
invokevirtual sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec.getMinorVersion:()I
6: invokespecial sun.security.pkcs11.wrapper.CK_VERSION.<init>:(II)V
astore 1
start local 1 7: aconst_null
astore 2
start local 2 8: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 2
9: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.token:Lsun/security/pkcs11/Token;
10: ldc "generate"
ldc 4
11: ldc 16
iconst_0
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
12: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 3
start local 3 13: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 2
invokevirtual sun.security.pkcs11.Session.id:()J
14: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.mechanism:J
aload 1
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(JLsun/security/pkcs11/wrapper/CK_VERSION;)V
aload 3
15: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GenerateKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 4
start local 4 16: aload 2
17: lload 4
ldc "TlsRsaPremasterSecret"
sipush 384
aload 3
18: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 6
start local 6 19: aload 6
astore 8
20: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
21: aload 8
areturn
end local 6 end local 4 end local 3 22: StackMap locals: sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator sun.security.pkcs11.wrapper.CK_VERSION sun.security.pkcs11.Session
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 3
start local 3 23: new java.security.ProviderException
dup
24: ldc "Could not generate premaster secret"
aload 3
25: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
27: aload 0
getfield sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator.token:Lsun/security/pkcs11/Token;
aload 2
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
28: aload 7
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/pkcs11/P11TlsRsaPremasterSecretGenerator;
7 29 1 version Lsun/security/pkcs11/wrapper/CK_VERSION;
8 29 2 session Lsun/security/pkcs11/Session;
13 22 3 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
16 22 4 keyID J
19 22 6 key Ljavax/crypto/SecretKey;
23 26 3 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
8 20 22 Class sun.security.pkcs11.wrapper.PKCS11Exception
8 20 26 any
22 26 26 any
}
SourceFile: "P11TlsRsaPremasterSecretGenerator.java"