summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java
diff options
context:
space:
mode:
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.java30
1 files changed, 30 insertions, 0 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 5e181be6e..c2f87bb83 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
@@ -826,4 +826,34 @@ public class CertUtil {
deleteCert(CryptoUtil.INTERNAL_TOKEN_FULL_NAME, nickname);
}
+
+ public static void importCert(
+ String subsystem,
+ String tag,
+ String tokenname,
+ String nickname,
+ X509CertImpl impl
+ ) throws Exception {
+
+ CMS.debug("CertUtil.importCert(" + tag + ")");
+
+ if (tag.equals("sslserver") && findBootstrapServerCert()) {
+ CMS.debug("CertUtil: deleting temporary SSL server cert");
+ deleteBootstrapServerCert();
+ }
+
+ if (findCertificate(tokenname, nickname)) {
+ CMS.debug("CertUtil: deleting existing " + tag + " cert");
+ deleteCert(tokenname, nickname);
+ }
+
+ CMS.debug("CertUtil: importing " + tag + " cert");
+
+ if (subsystem.equals("ca") && tag.equals("signing") ) {
+ CryptoUtil.importUserCertificate(impl, nickname);
+
+ } else {
+ CryptoUtil.importUserCertificate(impl, nickname, false);
+ }
+ }
}