From 7a0252247e860806d6456e997149602c9750206a Mon Sep 17 00:00:00 2001 From: Christina Fu Date: Tue, 15 Jan 2013 23:59:24 -0800 Subject: https://fedorahosted.org/pki/ticket/362 RFE: CMC ECC --- base/util/src/netscape/security/pkcs/PKCS10.java | 9 ++++++++- base/util/src/netscape/security/x509/X509CRLImpl.java | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'base/util/src') diff --git a/base/util/src/netscape/security/pkcs/PKCS10.java b/base/util/src/netscape/security/pkcs/PKCS10.java index 2d1c8eadb..4dd9f0f52 100644 --- a/base/util/src/netscape/security/pkcs/PKCS10.java +++ b/base/util/src/netscape/security/pkcs/PKCS10.java @@ -156,6 +156,10 @@ public class PKCS10 { byte val1[] = seq[0].data.getDerValue().toByteArray(); subjectPublicKeyInfo = X509Key.parse(new DerValue(val1)); PublicKey publicKey = X509Key.parsePublicKey(new DerValue(val1)); + if (publicKey == null) { + System.out.println("PKCS10: publicKey null"); + throw new SignatureException ("publicKey null"); + } // Cope with a somewhat common illegal PKCS #10 format if (seq[0].data.available() != 0) @@ -191,10 +195,13 @@ public class PKCS10 { sig.initVerify(publicKey); sig.update(data); - if (!sig.verify(sigData)) + if (!sig.verify(sigData)) { + System.out.println("PKCS10: sig.verify() failed"); throw new SignatureException("Invalid PKCS #10 signature"); + } } } catch (InvalidKeyException e) { + System.out.println("PKCS10: "+ e.toString()); throw new SignatureException("invalid key"); } } diff --git a/base/util/src/netscape/security/x509/X509CRLImpl.java b/base/util/src/netscape/security/x509/X509CRLImpl.java index 46c3edfcf..843cba8e2 100755 --- a/base/util/src/netscape/security/x509/X509CRLImpl.java +++ b/base/util/src/netscape/security/x509/X509CRLImpl.java @@ -413,6 +413,14 @@ public class X509CRLImpl extends X509CRL { sigAlg = "SHA1/RSA"; } else if (sigAlg.equals("SHA1withDSA")) { sigAlg = "SHA1/DSA"; + } else if (sigAlg.equals("SHA1withEC")) { + sigAlg = "SHA1/EC"; + } else if (sigAlg.equals("SHA256withEC")) { + sigAlg = "SHA256/EC"; + } else if (sigAlg.equals("SHA384withEC")) { + sigAlg = "SHA384/EC"; + } else if (sigAlg.equals("SHA512withEC")) { + sigAlg = "SHA512/EC"; } } sigVerf = Signature.getInstance(sigAlg, sigProvider); -- cgit