public final class sun.security.pkcs11.P11TlsKeyMaterialGenerator extends javax.crypto.KeyGeneratorSpi
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11TlsKeyMaterialGenerator
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: "TlsKeyMaterialGenerator must be initialized using a TlsKeyMaterialParameterSpec"
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 tlsVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private sun.security.internal.spec.TlsKeyMaterialParameterSpec spec;
descriptor: Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
flags: (0x0002) ACC_PRIVATE
private sun.security.pkcs11.P11Key p11Key;
descriptor: Lsun/security/pkcs11/P11Key;
flags: (0x0002) ACC_PRIVATE
private final boolean supportSSLv3;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(sun.security.pkcs11.Token, java.lang.String, long);
descriptor: (Lsun/security/pkcs11/Token;Ljava/lang/String;J)V
flags: (0x0000)
Code:
stack=5, 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.P11TlsKeyMaterialGenerator.token:Lsun/security/pkcs11/Token;
2: aload 0
aload 2
putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.algorithm:Ljava/lang/String;
3: aload 0
lload 3
putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.mechanism:J
4: aload 0
lload 3
ldc 882
lcmp
ifne 5
iconst_1
goto 6
StackMap locals: sun.security.pkcs11.P11TlsKeyMaterialGenerator sun.security.pkcs11.Token java.lang.String long
StackMap stack: sun.security.pkcs11.P11TlsKeyMaterialGenerator
5: iconst_0
StackMap locals: sun.security.pkcs11.P11TlsKeyMaterialGenerator sun.security.pkcs11.Token java.lang.String long
StackMap stack: sun.security.pkcs11.P11TlsKeyMaterialGenerator int
6: putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.supportSSLv3:Z
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/pkcs11/P11TlsKeyMaterialGenerator;
0 8 1 token Lsun/security/pkcs11/Token;
0 8 2 algorithm Ljava/lang/String;
0 8 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 "TlsKeyMaterialGenerator must be initialized using a TlsKeyMaterialParameterSpec"
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/P11TlsKeyMaterialGenerator;
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=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof sun.security.internal.spec.TlsKeyMaterialParameterSpec
ifne 2
1: new java.security.InvalidAlgorithmParameterException
dup
ldc "TlsKeyMaterialGenerator must be initialized using a TlsKeyMaterialParameterSpec"
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
checkcast sun.security.internal.spec.TlsKeyMaterialParameterSpec
astore 3
start local 3 3: aload 0
aload 3
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getMajorVersion:()I
bipush 8
ishl
aload 3
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getMinorVersion:()I
ior
putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
4: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 768
if_icmpne 5
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.supportSSLv3:Z
ifeq 6
5: StackMap locals: sun.security.internal.spec.TlsKeyMaterialParameterSpec
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 768
if_icmplt 6
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 771
if_icmple 14
6: StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
7: new java.lang.StringBuilder
dup
ldc "Only"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.supportSSLv3:Z
ifeq 8
ldc " SSL 3.0,"
goto 9
StackMap locals: sun.security.pkcs11.P11TlsKeyMaterialGenerator java.security.spec.AlgorithmParameterSpec java.security.SecureRandom sun.security.internal.spec.TlsKeyMaterialParameterSpec
StackMap stack: new 6 new 6 java.lang.StringBuilder
8: ldc ""
StackMap locals: sun.security.pkcs11.P11TlsKeyMaterialGenerator java.security.spec.AlgorithmParameterSpec java.security.SecureRandom sun.security.internal.spec.TlsKeyMaterialParameterSpec
StackMap stack: new 6 new 6 java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " TLS 1.0, TLS 1.1 and TLS 1.2 are supported ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
15: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.token:Lsun/security/pkcs11/Token;
aload 3
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getMasterSecret:()Ljavax/crypto/SecretKey;
ldc "TlsMasterSecret"
16: invokestatic sun.security.pkcs11.P11SecretKeyFactory.convertKey:(Lsun/security/pkcs11/Token;Ljava/security/Key;Ljava/lang/String;)Lsun/security/pkcs11/P11Key;
putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.p11Key:Lsun/security/pkcs11/P11Key;
17: goto 20
StackMap locals:
StackMap stack: java.security.InvalidKeyException
18: astore 4
start local 4 19: new java.security.InvalidAlgorithmParameterException
dup
ldc "init() failed"
aload 4
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 20: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
21: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 768
if_icmpne 24
22: aload 0
ldc 882
putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.mechanism:J
23: goto 26
StackMap locals:
StackMap stack:
24: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 769
if_icmpeq 25
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 770
if_icmpne 26
25: StackMap locals:
StackMap stack:
aload 0
ldc 886
putfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.mechanism:J
26: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/pkcs11/P11TlsKeyMaterialGenerator;
0 27 1 params Ljava/security/spec/AlgorithmParameterSpec;
0 27 2 random Ljava/security/SecureRandom;
3 27 3 spec Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
19 20 4 e Ljava/security/InvalidKeyException;
Exception table:
from to target type
14 17 18 Class java.security.InvalidKeyException
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 "TlsKeyMaterialGenerator must be initialized using a TlsKeyMaterialParameterSpec"
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/P11TlsKeyMaterialGenerator;
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=9, locals=23, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
ifnonnull 4
1: new java.lang.IllegalStateException
dup
2: ldc "TlsKeyMaterialGenerator must be initialized"
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getMacKeyLength:()I
iconst_3
ishl
istore 1
start local 1 5: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getIvLength:()I
iconst_3
ishl
istore 2
start local 2 6: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getExpandedCipherKeyLength:()I
iconst_3
ishl
istore 3
start local 3 7: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getCipherKeyLength:()I
iconst_3
ishl
istore 4
start local 4 8: iload 3
ifeq 11
9: iconst_1
istore 5
start local 5 10: goto 13
end local 5 11: StackMap locals: sun.security.pkcs11.P11TlsKeyMaterialGenerator int int int int
StackMap stack:
iconst_0
istore 5
start local 5 12: iload 4
istore 3
13: StackMap locals: int
StackMap stack:
new sun.security.pkcs11.wrapper.CK_SSL3_RANDOM_DATA
dup
14: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getClientRandom:()[B
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getServerRandom:()[B
15: invokespecial sun.security.pkcs11.wrapper.CK_SSL3_RANDOM_DATA.<init>:([B[B)V
astore 6
start local 6 16: aconst_null
astore 7
start local 7 17: aconst_null
astore 8
start local 8 18: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 771
if_icmpge 24
19: new sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_PARAMS
dup
20: iload 1
iload 4
iload 2
iload 5
aload 6
21: invokespecial sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_PARAMS.<init>:(IIIZLsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;)V
astore 7
22: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.mechanism:J
aload 7
checkcast sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_PARAMS
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(JLsun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_PARAMS;)V
astore 8
23: goto 30
StackMap locals: sun.security.pkcs11.wrapper.CK_SSL3_RANDOM_DATA java.lang.Object sun.security.pkcs11.wrapper.CK_MECHANISM
StackMap stack:
24: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.tlsVersion:I
sipush 771
if_icmpne 30
25: new sun.security.pkcs11.wrapper.CK_TLS12_KEY_MAT_PARAMS
dup
26: iload 1
iload 4
iload 2
iload 5
aload 6
27: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getPRFHashAlg:()Ljava/lang/String;
invokestatic sun.security.pkcs11.wrapper.Functions.getHashMechId:(Ljava/lang/String;)J
28: invokespecial sun.security.pkcs11.wrapper.CK_TLS12_KEY_MAT_PARAMS.<init>:(IIIZLsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;J)V
astore 7
29: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.mechanism:J
aload 7
checkcast sun.security.pkcs11.wrapper.CK_TLS12_KEY_MAT_PARAMS
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(JLsun/security/pkcs11/wrapper/CK_TLS12_KEY_MAT_PARAMS;)V
astore 8
30: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getCipherAlgorithm:()Ljava/lang/String;
astore 9
start local 9 31: aload 9
invokestatic sun.security.pkcs11.P11SecretKeyFactory.getKeyType:(Ljava/lang/String;)J
lstore 10
start local 10 32: lload 10
lconst_0
lcmp
ifge 38
33: iload 4
ifeq 37
34: new java.security.ProviderException
dup
35: new java.lang.StringBuilder
dup
ldc "Unknown algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.spec:Lsun/security/internal/spec/TlsKeyMaterialParameterSpec;
invokevirtual sun.security.internal.spec.TlsKeyMaterialParameterSpec.getCipherAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: java.lang.String long
StackMap stack:
ldc 16
lstore 10
38: StackMap locals:
StackMap stack:
aconst_null
astore 12
start local 12 39: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 12
40: iload 4
ifeq 47
41: iconst_3
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
42: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
lconst_0
ldc 4
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_1
43: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
lload 10
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
dup
iconst_2
44: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 353
iload 3
iconst_3
ishr
i2l
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
45: astore 13
start local 13 46: goto 48
end local 13 47: StackMap locals: sun.security.pkcs11.Session
StackMap stack:
iconst_0
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
astore 13
start local 13 48: StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.token:Lsun/security/pkcs11/Token;
49: ldc "generate"
ldc 4
lload 10
aload 13
50: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 13
51: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 12
invokevirtual sun.security.pkcs11.Session.id:()J
52: aload 8
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.p11Key:Lsun/security/pkcs11/P11Key;
getfield sun.security.pkcs11.P11Key.keyID:J
aload 13
53: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DeriveKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
pop2
54: aconst_null
astore 14
start local 14 55: aload 7
instanceof sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_PARAMS
ifeq 58
56: aload 7
checkcast sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_PARAMS
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_PARAMS.pReturnedKeyMaterial:Lsun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT;
astore 14
57: goto 60
StackMap locals: sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT
StackMap stack:
58: aload 7
instanceof sun.security.pkcs11.wrapper.CK_TLS12_KEY_MAT_PARAMS
ifeq 60
59: aload 7
checkcast sun.security.pkcs11.wrapper.CK_TLS12_KEY_MAT_PARAMS
getfield sun.security.pkcs11.wrapper.CK_TLS12_KEY_MAT_PARAMS.pReturnedKeyMaterial:Lsun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT;
astore 14
60: StackMap locals:
StackMap stack:
iload 1
ifeq 66
61: aload 12
aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hClientMacSecret:J
ldc "MAC"
iload 1
aload 13
62: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 15
start local 15 63: aload 12
aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hServerMacSecret:J
ldc "MAC"
iload 1
aload 13
64: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 16
start local 16 65: goto 68
end local 16 end local 15 66: StackMap locals:
StackMap stack:
aconst_null
astore 15
start local 15 67: aconst_null
astore 16
start local 16 68: StackMap locals: javax.crypto.SecretKey javax.crypto.SecretKey
StackMap stack:
iload 4
ifeq 76
69: aload 12
aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hClientKey:J
70: aload 9
iload 3
aload 13
71: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 17
start local 17 72: aload 12
aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hServerKey:J
73: aload 9
iload 3
aload 13
74: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 18
start local 18 75: goto 78
end local 18 end local 17 76: StackMap locals:
StackMap stack:
aconst_null
astore 17
start local 17 77: aconst_null
astore 18
start local 18 78: StackMap locals: javax.crypto.SecretKey javax.crypto.SecretKey
StackMap stack:
aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVClient:[B
ifnonnull 80
79: aconst_null
goto 81
StackMap locals:
StackMap stack:
80: new javax.crypto.spec.IvParameterSpec
dup
aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVClient:[B
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
81: StackMap locals:
StackMap stack: javax.crypto.spec.IvParameterSpec
astore 19
start local 19 82: aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVServer:[B
ifnonnull 84
83: aconst_null
goto 85
StackMap locals: javax.crypto.spec.IvParameterSpec
StackMap stack:
84: new javax.crypto.spec.IvParameterSpec
dup
aload 14
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVServer:[B
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
85: StackMap locals:
StackMap stack: javax.crypto.spec.IvParameterSpec
astore 20
start local 20 86: new sun.security.internal.spec.TlsKeyMaterialSpec
dup
aload 15
aload 16
87: aload 17
aload 19
aload 18
aload 20
88: invokespecial sun.security.internal.spec.TlsKeyMaterialSpec.<init>:(Ljavax/crypto/SecretKey;Ljavax/crypto/SecretKey;Ljavax/crypto/SecretKey;Ljavax/crypto/spec/IvParameterSpec;Ljavax/crypto/SecretKey;Ljavax/crypto/spec/IvParameterSpec;)V
astore 22
89: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.token:Lsun/security/pkcs11/Token;
aload 12
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
90: aload 22
areturn
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 91: StackMap locals: sun.security.pkcs11.P11TlsKeyMaterialGenerator int int int int int sun.security.pkcs11.wrapper.CK_SSL3_RANDOM_DATA java.lang.Object sun.security.pkcs11.wrapper.CK_MECHANISM java.lang.String long sun.security.pkcs11.Session
StackMap stack: java.lang.Exception
astore 13
start local 13 92: new java.security.ProviderException
dup
ldc "Could not generate key"
aload 13
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 93: StackMap locals:
StackMap stack: java.lang.Throwable
astore 21
94: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.token:Lsun/security/pkcs11/Token;
aload 12
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
95: aload 21
athrow
end local 12 end local 10 end local 9 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 96 0 this Lsun/security/pkcs11/P11TlsKeyMaterialGenerator;
5 96 1 macBits I
6 96 2 ivBits I
7 96 3 expandedKeyBits I
8 96 4 keyBits I
10 11 5 isExportable Z
12 96 5 isExportable Z
16 96 6 random Lsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;
17 96 7 params Ljava/lang/Object;
18 96 8 ckMechanism Lsun/security/pkcs11/wrapper/CK_MECHANISM;
31 96 9 cipherAlgorithm Ljava/lang/String;
32 96 10 keyType J
39 96 12 session Lsun/security/pkcs11/Session;
46 47 13 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
48 91 13 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
55 91 14 out Lsun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT;
63 66 15 clientMacKey Ljavax/crypto/SecretKey;
67 91 15 clientMacKey Ljavax/crypto/SecretKey;
65 66 16 serverMacKey Ljavax/crypto/SecretKey;
68 91 16 serverMacKey Ljavax/crypto/SecretKey;
72 76 17 clientCipherKey Ljavax/crypto/SecretKey;
77 91 17 clientCipherKey Ljavax/crypto/SecretKey;
75 76 18 serverCipherKey Ljavax/crypto/SecretKey;
78 91 18 serverCipherKey Ljavax/crypto/SecretKey;
82 91 19 clientIv Ljavax/crypto/spec/IvParameterSpec;
86 91 20 serverIv Ljavax/crypto/spec/IvParameterSpec;
92 93 13 e Ljava/lang/Exception;
Exception table:
from to target type
39 89 91 Class java.lang.Exception
39 89 93 any
91 93 93 any
}
SourceFile: "P11TlsKeyMaterialGenerator.java"