diff options
| author | Endi S. Dewata <edewata@redhat.com> | 2017-03-17 07:55:11 +0100 |
|---|---|---|
| committer | Endi S. Dewata <edewata@redhat.com> | 2017-03-17 16:57:10 +0100 |
| commit | 8b85ace2a2761c8451a11b4df8f142bd291cd6d4 (patch) | |
| tree | 31c8f519a66402bc415f5208517d4107fae1f27f /base/java-tools/src/com | |
| parent | 2d093c93081ca6b86bdfc644524d71951731f131 (diff) | |
| download | pki-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.java | 28 |
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"); |
