diff options
author | Endi S. Dewata <edewata@redhat.com> | 2016-04-11 18:18:52 +0200 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2016-04-12 16:27:20 +0200 |
commit | 8e291fba835f6640a262e01333aa58cf9bd5220f (patch) | |
tree | 86ce2d93290760c078fcf34f7d8d5cd9db0f2246 /base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java | |
parent | 5847a485a16471f6c3a2a7552b719df3aec909df (diff) | |
download | pki-8e291fba835f6640a262e01333aa58cf9bd5220f.tar.gz pki-8e291fba835f6640a262e01333aa58cf9bd5220f.tar.xz pki-8e291fba835f6640a262e01333aa58cf9bd5220f.zip |
Fixed exception handling in CertUtil.
The CertUtil.createLocalCert() has been modified to re-throw the
exception instead of ignoring it.
https://fedorahosted.org/pki/ticket/1654
Diffstat (limited to 'base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java')
-rw-r--r-- | base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java index f4cd82fcc..774ff94e3 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java +++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java @@ -453,10 +453,20 @@ public class CertUtil { } else { keyAlgorithm = config.getString(prefix + certTag + ".keyalgorithm"); } + if (!caProvided) ca = (ICertificateAuthority) CMS.getSubsystem( ICertificateAuthority.ID); + cr = ca.getCertificateRepository(); + + if (cr == null) { + if (context != null) { + context.put("errorString", "Ceritifcate Authority is not ready to serve."); + } + throw new IOException("Ceritifcate Authority is not ready to serve."); + } + BigInteger serialNo = cr.getNextSerialNumber(); if (type.equals("selfsign")) { CMS.debug("Creating local certificate... selfsign cert"); @@ -575,16 +585,13 @@ public class CertUtil { if (cert != null) { CMS.debug("CertUtil createSelfSignedCert: got cert signed"); } - } catch (Exception e) { - CMS.debug(e); - CMS.debug("CertUtil createLocalCert() exception caught:" + e.toString()); - } - if (cr == null) { - if (context != null) { - context.put("errorString", "Ceritifcate Authority is not ready to serve."); - } - throw new IOException("Ceritifcate Authority is not ready to serve."); + } catch (IOException e) { + throw e; + + } catch (Exception e) { + CMS.debug("Unable to create local certificate: " + e); + throw new IOException("Unable to create local certificate: " + e, e); } ICertRecord record = null; |