diff options
-rw-r--r-- | security/nss/cmd/smimetools/cmsutil.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/security/nss/cmd/smimetools/cmsutil.c b/security/nss/cmd/smimetools/cmsutil.c index 1ac0b9469..eff4bf6ec 100644 --- a/security/nss/cmd/smimetools/cmsutil.c +++ b/security/nss/cmd/smimetools/cmsutil.c @@ -46,6 +46,7 @@ #include "cdbhdl.h" #include "secoid.h" #include "cms.h" +#include "nss.h" #include "smime.h" #if defined(XP_UNIX) @@ -1102,16 +1103,16 @@ main(int argc, char **argv) /* Call the libsec initialization routines */ PR_Init(PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1); - SECU_PKCS11Init(PR_FALSE); - RNG_SystemInfoForRNG(); /* SECU_PKCS11Init does not call this */ - SEC_Init(); /* this does nothing, actually */ - - /* open cert database */ - options.certHandle = OpenCertDB(progName); - if (options.certHandle == NULL) { - return -1; + rv = NSS_InitReadWrite(SECU_ConfigDirectory(NULL)); + if (SECSuccess != rv) { + SECU_PrintError(progName, "NSS_Init failed"); + exit(1); + } + options.certHandle = CERT_GetDefaultCertDB(); + if (!options.certHandle) { + SECU_PrintError(progName, "No default cert DB"); + exit(1); } - CERT_SetDefaultCertDB(options.certHandle); exitstatus = 0; switch (mode) { |