final class sun.security.pkcs11.P11ECDHKeyAgreement extends javax.crypto.KeyAgreementSpi
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11ECDHKeyAgreement
super_class: javax.crypto.KeyAgreementSpi
{
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 final long mechanism;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private sun.security.pkcs11.P11Key privateKey;
descriptor: Lsun/security/pkcs11/P11Key;
flags: (0x0002) ACC_PRIVATE
private byte[] publicValue;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int secretLen;
descriptor: I
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.KeyAgreementSpi.<init>:()V
1: aload 0
aload 1
putfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
2: aload 0
aload 2
putfield sun.security.pkcs11.P11ECDHKeyAgreement.algorithm:Ljava/lang/String;
3: aload 0
lload 3
putfield sun.security.pkcs11.P11ECDHKeyAgreement.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/P11ECDHKeyAgreement;
0 5 1 token Lsun/security/pkcs11/Token;
0 5 2 algorithm Ljava/lang/String;
0 5 3 mechanism J
MethodParameters:
Name Flags
token
algorithm
mechanism
protected void engineInit(java.security.Key, java.security.SecureRandom);
descriptor: (Ljava/security/Key;Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof java.security.PrivateKey
ifne 4
1: new java.security.InvalidKeyException
dup
2: ldc "Key must be instance of PrivateKey"
3: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
aload 1
ldc "EC"
invokestatic sun.security.pkcs11.P11KeyFactory.convertKey:(Lsun/security/pkcs11/Token;Ljava/security/Key;Ljava/lang/String;)Lsun/security/pkcs11/P11Key;
putfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
5: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
0 7 1 key Ljava/security/Key;
0 7 2 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
key
random
protected void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 4
1: new java.security.InvalidAlgorithmParameterException
dup
2: ldc "Parameters not supported"
3: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual sun.security.pkcs11.P11ECDHKeyAgreement.engineInit:(Ljava/security/Key;Ljava/security/SecureRandom;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
0 6 1 key Ljava/security/Key;
0 6 2 params Ljava/security/spec/AlgorithmParameterSpec;
0 6 3 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
key
params
random
protected java.security.Key engineDoPhase(java.security.Key, boolean);
descriptor: (Ljava/security/Key;Z)Ljava/security/Key;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Not initialized"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
ifnull 4
3: new java.lang.IllegalStateException
dup
ldc "Phase already executed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
ifne 8
5: new java.lang.IllegalStateException
dup
6: ldc "Only two party agreement supported, lastPhase must be true"
7: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.interfaces.ECPublicKey
ifne 12
9: new java.security.InvalidKeyException
dup
10: ldc "Key must be a PublicKey with algorithm EC"
11: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.interfaces.ECPublicKey
astore 3
start local 3 13: aload 3
invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
invokeinterface java.security.spec.ECField.getFieldSize:()I
istore 4
start local 4 14: aload 0
iload 4
bipush 7
iadd
iconst_3
ishr
putfield sun.security.pkcs11.P11ECDHKeyAgreement.secretLen:I
15: aload 0
aload 3
invokestatic sun.security.pkcs11.P11ECKeyFactory.getEncodedPublicValue:(Ljava/security/PublicKey;)[B
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
16: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
0 17 1 key Ljava/security/Key;
0 17 2 lastPhase Z
13 17 3 ecKey Ljava/security/interfaces/ECPublicKey;
14 17 4 keyLenBits I
Exceptions:
throws java.security.InvalidKeyException, java.lang.IllegalStateException
MethodParameters:
Name Flags
key
lastPhase
protected byte[] engineGenerateSecret();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=11, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
ifnull 1
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Not initialized correctly"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
lstore 2
start local 2 4: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 1
5: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
6: 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
7: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
ldc 16
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
8: astore 4
start local 4 9: new sun.security.pkcs11.wrapper.CK_ECDH1_DERIVE_PARAMS
dup
lconst_1
aconst_null
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
invokespecial sun.security.pkcs11.wrapper.CK_ECDH1_DERIVE_PARAMS.<init>:(J[B[B)V
10: astore 5
start local 5 11: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
12: ldc "generate"
ldc 4
ldc 16
aload 4
13: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 4
14: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
15: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.mechanism:J
aload 5
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(JLsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;)V
lload 2
16: aload 4
17: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DeriveKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 6
start local 6 18: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
19: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
20: astore 4
21: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 6
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
22: aload 4
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
astore 8
start local 8 23: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 6
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
24: aload 8
astore 10
25: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
26: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
27: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
aload 1
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
28: aload 10
areturn
end local 8 end local 6 end local 5 end local 4 29: StackMap locals: sun.security.pkcs11.P11ECDHKeyAgreement sun.security.pkcs11.Session long
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 4
start local 4 30: new java.security.ProviderException
dup
ldc "Could not derive key"
aload 4
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
32: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
33: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
34: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
aload 1
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
35: aload 9
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
3 36 1 session Lsun/security/pkcs11/Session;
4 36 2 privKeyID J
9 29 4 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11 29 5 ckParams Lsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;
18 29 6 keyID J
23 29 8 secret [B
30 31 4 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
4 25 29 Class sun.security.pkcs11.wrapper.PKCS11Exception
4 25 31 any
29 31 31 any
Exceptions:
throws java.lang.IllegalStateException
protected int engineGenerateSecret(byte[], int);
descriptor: ([BI)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.secretLen:I
iadd
aload 1
arraylength
if_icmple 4
1: new javax.crypto.ShortBufferException
dup
new java.lang.StringBuilder
dup
ldc "Need "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.secretLen:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc " bytes, only "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
arraylength
iload 2
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " available"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial javax.crypto.ShortBufferException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.pkcs11.P11ECDHKeyAgreement.engineGenerateSecret:()[B
astore 3
start local 3 5: aload 3
iconst_0
aload 1
iload 2
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 3
arraylength
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
0 7 1 sharedSecret [B
0 7 2 offset I
5 7 3 secret [B
Exceptions:
throws java.lang.IllegalStateException, javax.crypto.ShortBufferException
MethodParameters:
Name Flags
sharedSecret
offset
protected javax.crypto.SecretKey engineGenerateSecret(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/crypto/SecretKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.NoSuchAlgorithmException
dup
ldc "Algorithm must not be null"
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ldc "TlsPremasterSecret"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
3: new java.security.NoSuchAlgorithmException
dup
4: ldc "Only supported for algorithm TlsPremasterSecret"
5: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.pkcs11.P11ECDHKeyAgreement.nativeGenerateSecret:(Ljava/lang/String;)Ljavax/crypto/SecretKey;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
0 7 1 algorithm Ljava/lang/String;
Exceptions:
throws java.lang.IllegalStateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
MethodParameters:
Name Flags
algorithm
private javax.crypto.SecretKey nativeGenerateSecret(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=16, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
ifnull 1
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Not initialized correctly"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
ldc 16
lstore 2
start local 2 3: aconst_null
astore 4
start local 4 4: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
lstore 5
start local 5 5: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 4
6: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
7: 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
8: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
lload 2
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
9: astore 7
start local 7 10: new sun.security.pkcs11.wrapper.CK_ECDH1_DERIVE_PARAMS
dup
lconst_1
aconst_null
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
invokespecial sun.security.pkcs11.wrapper.CK_ECDH1_DERIVE_PARAMS.<init>:(J[B[B)V
11: astore 8
start local 8 12: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
13: ldc "generate"
ldc 4
lload 2
aload 7
14: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 7
15: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 4
invokevirtual sun.security.pkcs11.Session.id:()J
16: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.mechanism:J
aload 8
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(JLsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;)V
lload 5
17: aload 7
18: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DeriveKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 9
start local 9 19: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
20: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 353
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
21: astore 11
start local 11 22: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 4
invokevirtual sun.security.pkcs11.Session.id:()J
lload 9
aload 11
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
23: aload 11
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
l2i
istore 12
start local 12 24: aload 4
lload 9
aload 1
iload 12
iconst_3
ishl
aload 7
25: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 13
start local 13 26: aload 13
astore 15
27: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
28: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
29: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
30: aload 15
areturn
end local 13 end local 12 end local 11 end local 9 end local 8 end local 7 31: StackMap locals: sun.security.pkcs11.P11ECDHKeyAgreement java.lang.String long sun.security.pkcs11.Session long
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 7
start local 7 32: new java.security.InvalidKeyException
dup
ldc "Could not derive key"
aload 7
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 33: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
34: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
35: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
36: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
aload 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
37: aload 14
athrow
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
0 38 1 algorithm Ljava/lang/String;
3 38 2 keyType J
4 38 4 session Lsun/security/pkcs11/Session;
5 38 5 privKeyID J
10 31 7 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
12 31 8 ckParams Lsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;
19 31 9 keyID J
22 31 11 lenAttributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
24 31 12 keyLen I
26 31 13 key Ljavax/crypto/SecretKey;
32 33 7 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
5 27 31 Class sun.security.pkcs11.wrapper.PKCS11Exception
5 27 33 any
31 33 33 any
Exceptions:
throws java.lang.IllegalStateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
MethodParameters:
Name Flags
algorithm
}
SourceFile: "P11ECDHKeyAgreement.java"