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=25, 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.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
lstore 14
start local 14 52: 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
53: aload 8
lload 14
aload 13
54: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DeriveKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
pop2
55: goto 59
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 sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
StackMap stack: java.lang.Throwable
56: astore 16
57: aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
58: aload 16
athrow
59: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11TlsKeyMaterialGenerator.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
60: aconst_null
astore 16
start local 16 61: aload 7
instanceof sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_PARAMS
ifeq 64
62: 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 16
63: goto 66
StackMap locals: sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT
StackMap stack:
64: aload 7
instanceof sun.security.pkcs11.wrapper.CK_TLS12_KEY_MAT_PARAMS
ifeq 66
65: 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 16
66: StackMap locals:
StackMap stack:
iload 1
ifeq 72
67: aload 12
aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hClientMacSecret:J
ldc "MAC"
iload 1
aload 13
68: 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 69: aload 12
aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hServerMacSecret:J
ldc "MAC"
iload 1
aload 13
70: 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 71: goto 74
end local 18 end local 17 72: StackMap locals:
StackMap stack:
aconst_null
astore 17
start local 17 73: aconst_null
astore 18
start local 18 74: StackMap locals: javax.crypto.SecretKey javax.crypto.SecretKey
StackMap stack:
iload 4
ifeq 82
75: aload 12
aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hClientKey:J
76: aload 9
iload 3
aload 13
77: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 19
start local 19 78: aload 12
aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.hServerKey:J
79: aload 9
iload 3
aload 13
80: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 20
start local 20 81: goto 84
end local 20 end local 19 82: StackMap locals:
StackMap stack:
aconst_null
astore 19
start local 19 83: aconst_null
astore 20
start local 20 84: StackMap locals: javax.crypto.SecretKey javax.crypto.SecretKey
StackMap stack:
aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVClient:[B
ifnonnull 86
85: aconst_null
goto 87
StackMap locals:
StackMap stack:
86: new javax.crypto.spec.IvParameterSpec
dup
aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVClient:[B
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
87: StackMap locals:
StackMap stack: javax.crypto.spec.IvParameterSpec
astore 21
start local 21 88: aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVServer:[B
ifnonnull 90
89: aconst_null
goto 91
StackMap locals: javax.crypto.spec.IvParameterSpec
StackMap stack:
90: new javax.crypto.spec.IvParameterSpec
dup
aload 16
getfield sun.security.pkcs11.wrapper.CK_SSL3_KEY_MAT_OUT.pIVServer:[B
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
91: StackMap locals:
StackMap stack: javax.crypto.spec.IvParameterSpec
astore 22
start local 22 92: new sun.security.internal.spec.TlsKeyMaterialSpec
dup
aload 17
aload 18
93: aload 19
aload 21
aload 20
aload 22
94: 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 24
95: 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
96: aload 24
areturn
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 14 end local 13 97: 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 98: 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 99: StackMap locals:
StackMap stack: java.lang.Throwable
astore 23
100: 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
101: aload 23
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 102 0 this Lsun/security/pkcs11/P11TlsKeyMaterialGenerator;
5 102 1 macBits I
6 102 2 ivBits I
7 102 3 expandedKeyBits I
8 102 4 keyBits I
10 11 5 isExportable Z
12 102 5 isExportable Z
16 102 6 random Lsun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA;
17 102 7 params Ljava/lang/Object;
18 102 8 ckMechanism Lsun/security/pkcs11/wrapper/CK_MECHANISM;
31 102 9 cipherAlgorithm Ljava/lang/String;
32 102 10 keyType J
39 102 12 session Lsun/security/pkcs11/Session;
46 47 13 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
48 97 13 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
52 97 14 p11KeyID J
61 97 16 out Lsun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT;
69 72 17 clientMacKey Ljavax/crypto/SecretKey;
73 97 17 clientMacKey Ljavax/crypto/SecretKey;
71 72 18 serverMacKey Ljavax/crypto/SecretKey;
74 97 18 serverMacKey Ljavax/crypto/SecretKey;
78 82 19 clientCipherKey Ljavax/crypto/SecretKey;
83 97 19 clientCipherKey Ljavax/crypto/SecretKey;
81 82 20 serverCipherKey Ljavax/crypto/SecretKey;
84 97 20 serverCipherKey Ljavax/crypto/SecretKey;
88 97 21 clientIv Ljavax/crypto/spec/IvParameterSpec;
92 97 22 serverIv Ljavax/crypto/spec/IvParameterSpec;
98 99 13 e Ljava/lang/Exception;
Exception table:
from to target type
52 56 56 any
39 95 97 Class java.lang.Exception
39 95 99 any
97 99 99 any
}
SourceFile: "P11TlsKeyMaterialGenerator.java"