summaryrefslogtreecommitdiffstats
path: root/base/kra/src/com/netscape/kra/EncryptionUnit.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/kra/src/com/netscape/kra/EncryptionUnit.java')
-rw-r--r--base/kra/src/com/netscape/kra/EncryptionUnit.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/base/kra/src/com/netscape/kra/EncryptionUnit.java b/base/kra/src/com/netscape/kra/EncryptionUnit.java
index c082a784f..71bd1d781 100644
--- a/base/kra/src/com/netscape/kra/EncryptionUnit.java
+++ b/base/kra/src/com/netscape/kra/EncryptionUnit.java
@@ -301,7 +301,7 @@ public abstract class EncryptionUnit implements IEncryptionUnit {
*/
public SymmetricKey unwrap_symmetric(byte encSymmKey[],
String symmAlgOID, byte symmAlgParams[],
- byte encValue[])
+ byte encValue[], SymmetricKey.Type algorithm, int strength)
throws EBaseException {
try {
CryptoToken token = getToken();
@@ -323,7 +323,8 @@ public abstract class EncryptionUnit implements IEncryptionUnit {
wrapper.initUnwrap(sk, new IVParameterSpec(
symmAlgParams));
- SymmetricKey symKey = wrapper.unwrapSymmetric(encValue, SymmetricKey.DES3, SymmetricKey.Usage.DECRYPT, 0);
+ SymmetricKey symKey = wrapper.unwrapSymmetric(encValue, algorithm,
+ SymmetricKey.Usage.DECRYPT, strength);
return symKey;
} catch (TokenException e) {
@@ -513,7 +514,7 @@ public abstract class EncryptionUnit implements IEncryptionUnit {
/**
* External unwrapping of stored symmetric key.
*/
- public SymmetricKey unwrap(byte wrappedKeyData[])
+ public SymmetricKey unwrap(byte wrappedKeyData[], SymmetricKey.Type algorithm, int keySize)
throws EBaseException {
try {
DerValue val = new DerValue(wrappedKeyData);
@@ -540,8 +541,8 @@ public abstract class EncryptionUnit implements IEncryptionUnit {
wrapper.initUnwrap(sk, IV);
SymmetricKey sk_ret = wrapper.unwrapSymmetric(pri,
- SymmetricKey.DES3, SymmetricKey.Usage.UNWRAP,
- 0);
+ algorithm, SymmetricKey.Usage.UNWRAP,
+ keySize);
return sk_ret;
} catch (TokenException e) {