summaryrefslogtreecommitdiffstats
path: root/base/util/src/com/netscape/cmsutil
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2017-06-06 16:16:40 -0400
committerAde Lee <alee@redhat.com>2017-06-07 16:00:52 -0400
commitd5c331a42955365b76a1549aec047e613d3185dc (patch)
tree6258a518501aa166cb803abe04f046da410aec31 /base/util/src/com/netscape/cmsutil
parent38df4274214938ceece85627abb6d4fe77b960ff (diff)
downloadpki-d5c331a42955365b76a1549aec047e613d3185dc.tar.gz
pki-d5c331a42955365b76a1549aec047e613d3185dc.tar.xz
pki-d5c331a42955365b76a1549aec047e613d3185dc.zip
Server side changes to correctly parse the new PKIArchiveOptions
The server is modified to read the new OIDs in the PKIArchiveOptions and handle them correctly. Change-Id: I328df4d6588b3c2c26a387ab2e9ed742d36824d4
Diffstat (limited to 'base/util/src/com/netscape/cmsutil')
-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();
}