summaryrefslogtreecommitdiffstats
path: root/base/util/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'base/util/src/com')
-rw-r--r--base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java34
1 files changed, 27 insertions, 7 deletions
diff --git a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
index 84e4a650d..eca8dddb6 100644
--- a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
+++ b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
@@ -2713,6 +2713,10 @@ public class CryptoUtil {
throw new NoSuchAlgorithmException();
}
+ public static final OBJECT_IDENTIFIER KW_AES_KEY_WRAP_PAD = new OBJECT_IDENTIFIER("2.16.840.1.101.3.4.1.8");
+ public static final OBJECT_IDENTIFIER KW_AES_CBC_PAD = new OBJECT_IDENTIFIER("2.16.840.1.101.3.4.1.2");
+ public static final OBJECT_IDENTIFIER KW_DES_CBC_PAD = new OBJECT_IDENTIFIER("1.2.840.113549.3.7");
+
/*
* Useful method to map KeyWrap algorithms to an OID.
* This is not yet defined within JSS, although it will be valuable to do
@@ -2724,13 +2728,29 @@ public class CryptoUtil {
* the subsequent reverse mapping method below.
*/
public static OBJECT_IDENTIFIER getOID(KeyWrapAlgorithm kwAlg) throws NoSuchAlgorithmException {
- if (kwAlg == KeyWrapAlgorithm.AES_KEY_WRAP_PAD)
- return new OBJECT_IDENTIFIER("2.16.840.1.101.3.4.1.8");
- if (kwAlg == KeyWrapAlgorithm.AES_CBC_PAD)
- return new OBJECT_IDENTIFIER("2.16.840.1.101.3.4.1.2");
- if ((kwAlg == KeyWrapAlgorithm.DES3_CBC_PAD) ||
- (kwAlg == KeyWrapAlgorithm.DES_CBC_PAD))
- return new OBJECT_IDENTIFIER("1.2.840.113549.3.7");
+ String name = kwAlg.toString();
+ if (name.equals(KeyWrapAlgorithm.AES_KEY_WRAP_PAD.toString()))
+ return KW_AES_KEY_WRAP_PAD;
+ if (name.equals(KeyWrapAlgorithm.AES_CBC_PAD.toString()))
+ return KW_AES_CBC_PAD;
+ if (name.equals(KeyWrapAlgorithm.DES3_CBC_PAD.toString()))
+ return KW_DES_CBC_PAD;
+ if (name.equals(KeyWrapAlgorithm.DES_CBC_PAD.toString()))
+ return KW_DES_CBC_PAD;
+
+ throw new NoSuchAlgorithmException();
+ }
+
+ public static KeyWrapAlgorithm getKeyWrapAlgorithmFromOID(String wrapOID) throws NoSuchAlgorithmException {
+ OBJECT_IDENTIFIER oid = new OBJECT_IDENTIFIER(wrapOID);
+ if (oid.equals(KW_AES_KEY_WRAP_PAD))
+ return KeyWrapAlgorithm.AES_KEY_WRAP_PAD;
+
+ if (oid.equals(KW_AES_CBC_PAD))
+ return KeyWrapAlgorithm.AES_CBC_PAD;
+
+ if (oid.equals(KW_DES_CBC_PAD))
+ return KeyWrapAlgorithm.DES3_CBC_PAD;
throw new NoSuchAlgorithmException();
}