summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2017-03-17 07:55:11 +0100
committerEndi S. Dewata <edewata@redhat.com>2017-03-17 16:57:10 +0100
commit8b85ace2a2761c8451a11b4df8f142bd291cd6d4 (patch)
tree31c8f519a66402bc415f5208517d4107fae1f27f /base/java-tools/src/com
parent2d093c93081ca6b86bdfc644524d71951731f131 (diff)
downloadpki-8b85ace2a2761c8451a11b4df8f142bd291cd6d4.tar.gz
pki-8b85ace2a2761c8451a11b4df8f142bd291cd6d4.tar.xz
pki-8b85ace2a2761c8451a11b4df8f142bd291cd6d4.zip
Default NSS database for PKI CLI.
The PKI CLI has been modified to create a default NSS database without a password if there is no existing database at the expected location.
Diffstat (limited to 'base/java-tools/src/com')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java28
1 files changed, 24 insertions, 4 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
index 0a9ddf0a6..75904edc6 100644
--- a/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
@@ -467,12 +467,32 @@ public class MainCLI extends CLI {
public void init() throws Exception {
- // Main program should initialize client security database
- if (certDatabase.exists()) {
- if (verbose) System.out.println("Initializing client security database");
- CryptoManager.initialize(certDatabase.getAbsolutePath());
+ // Create security database if it doesn't exist
+ if (!certDatabase.exists()) {
+
+ if (verbose) System.out.println("Creating security database");
+
+ certDatabase.mkdirs();
+
+ String[] commands = {
+ "/usr/bin/certutil", "-N",
+ "-d", certDatabase.getAbsolutePath(),
+ "--empty-password"
+ };
+
+ Runtime rt = Runtime.getRuntime();
+ Process p = rt.exec(commands);
+
+ int rc = p.waitFor();
+ if (rc != 0) {
+ throw new Exception("Unable to create security database: " + certDatabase.getAbsolutePath() + " (rc: " + rc + ")");
+ }
}
+ // Main program should initialize security database
+ if (verbose) System.out.println("Initializing security database");
+ CryptoManager.initialize(certDatabase.getAbsolutePath());
+
// If password is specified, use password to access security token
if (config.getCertPassword() != null) {
if (verbose) System.out.println("Logging into security token");