From 46dd3b8b536a515ec743001d6f797556f4fffb98 Mon Sep 17 00:00:00 2001
From: "Endi S. Dewata" <edewata@redhat.com>
Date: Mon, 20 Jul 2015 22:03:17 +0200
Subject: [PATCH] Fixed ObjectNotFoundException in PKCS12Export.
The PKCS12Export has been fixed to handle ObjectNotFoundException
when exporting certificates without private keys.
https://fedorahosted.org/pki/ticket/1506
---
base/java-tools/src/com/netscape/cmstools/PKCS12Export.java | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/base/java-tools/src/com/netscape/cmstools/PKCS12Export.java b/base/java-tools/src/com/netscape/cmstools/PKCS12Export.java
index 77e6b7c..b8999fe 100644
--- a/base/java-tools/src/com/netscape/cmstools/PKCS12Export.java
+++ b/base/java-tools/src/com/netscape/cmstools/PKCS12Export.java
@@ -224,17 +224,17 @@ public class PKCS12Export {
for (int i = 0; i < certs.length; i++) {
String nickname = certs[i].getNickname();
debug(" * Certificate: " + nickname);
- org.mozilla.jss.crypto.PrivateKey prikey = cm.findPrivKeyByCert(certs[i]);
+ try {
+ org.mozilla.jss.crypto.PrivateKey prikey = cm.findPrivKeyByCert(certs[i]);
- if (prikey == null) {
- debug(" Private key does not exist");
- addCertBag(certs[i], null, safeContents);
-
- } else {
debug(" Private key exists");
byte localKeyId[] =
addCertBag(certs[i], nickname, safeContents);
addKeyBag(prikey, certs[i], password, localKeyId, encSafeContents);
+
+ } catch (org.mozilla.jss.crypto.ObjectNotFoundException e) {
+ debug(" Private key does not exist");
+ addCertBag(certs[i], null, safeContents);
}
}
--
1.8.3.1