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=9, 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.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
astore 1
4: iconst_2
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
5: 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
6: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 256
ldc 16
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
7: astore 2
start local 2 8: 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
9: astore 3
start local 3 10: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
11: ldc "generate"
ldc 4
ldc 16
aload 2
12: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 2
13: 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
14: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.mechanism:J
aload 3
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(JLsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;)V
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
getfield sun.security.pkcs11.P11Key.keyID:J
15: aload 2
16: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DeriveKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 4
start local 4 17: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
18: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 17
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
19: astore 2
20: 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 4
aload 2
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
21: aload 2
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
astore 6
start local 6 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 1
invokevirtual sun.security.pkcs11.Session.id:()J
lload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
23: aload 6
astore 8
24: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
25: 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
26: aload 8
areturn
end local 6 end local 4 end local 3 end local 2 27: StackMap locals: sun.security.pkcs11.P11ECDHKeyAgreement sun.security.pkcs11.Session
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 2
start local 2 28: new java.security.ProviderException
dup
ldc "Could not derive key"
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 29: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
30: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
31: 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
32: aload 7
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
3 33 1 session Lsun/security/pkcs11/Session;
8 27 2 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
10 27 3 ckParams Lsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;
17 27 4 keyID J
22 27 6 secret [B
28 29 2 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
3 24 27 Class sun.security.pkcs11.wrapper.PKCS11Exception
3 24 29 any
27 29 29 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=14, 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.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
astore 4
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
lload 2
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
aastore
8: astore 5
start local 5 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 6
start local 6 11: aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.token:Lsun/security/pkcs11/Token;
12: ldc "generate"
ldc 4
lload 2
aload 5
13: invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
astore 5
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 4
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 6
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(JLsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;)V
aload 0
getfield sun.security.pkcs11.P11ECDHKeyAgreement.privateKey:Lsun/security/pkcs11/P11Key;
getfield sun.security.pkcs11.P11Key.keyID:J
16: aload 5
17: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DeriveKey:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
lstore 7
start local 7 18: iconst_1
anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
iconst_0
19: new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
dup
ldc 353
invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
aastore
20: astore 9
start local 9 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 4
invokevirtual sun.security.pkcs11.Session.id:()J
lload 7
aload 9
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
22: aload 9
iconst_0
aaload
invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
l2i
istore 10
start local 10 23: aload 4
lload 7
aload 1
iload 10
iconst_3
ishl
aload 5
24: invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
astore 11
start local 11 25: aload 11
astore 13
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 4
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
pop
28: aload 13
areturn
end local 11 end local 10 end local 9 end local 7 end local 6 end local 5 29: StackMap locals: sun.security.pkcs11.P11ECDHKeyAgreement java.lang.String long sun.security.pkcs11.Session
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 5
start local 5 30: new java.security.InvalidKeyException
dup
ldc "Could not derive key"
aload 5
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
32: aload 0
aconst_null
putfield sun.security.pkcs11.P11ECDHKeyAgreement.publicValue:[B
33: 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
34: aload 12
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/security/pkcs11/P11ECDHKeyAgreement;
0 35 1 algorithm Ljava/lang/String;
3 35 2 keyType J
4 35 4 session Lsun/security/pkcs11/Session;
9 29 5 attributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
11 29 6 ckParams Lsun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS;
18 29 7 keyID J
21 29 9 lenAttributes [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
23 29 10 keyLen I
25 29 11 key Ljavax/crypto/SecretKey;
30 31 5 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
4 26 29 Class sun.security.pkcs11.wrapper.PKCS11Exception
4 26 31 any
29 31 31 any
Exceptions:
throws java.lang.IllegalStateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
MethodParameters:
Name Flags
algorithm
}
SourceFile: "P11ECDHKeyAgreement.java"