diff options
author | relyea%netscape.com <devnull@localhost> | 2000-06-16 18:26:51 +0000 |
---|---|---|
committer | relyea%netscape.com <devnull@localhost> | 2000-06-16 18:26:51 +0000 |
commit | ffeaeca5c8808ebd7ee5e474f3e639629ade8fce (patch) | |
tree | a50db2108f6b92587f7bcbee09df6d1d3df53149 | |
parent | 9e88767424046018bd9d0a577e8c54923eebd1f1 (diff) | |
download | nss-hg-ffeaeca5c8808ebd7ee5e474f3e639629ade8fce.tar.gz |
Fix bug where password files were not working for Create Certificate request.
-rw-r--r-- | security/nss/cmd/certutil/certutil.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/security/nss/cmd/certutil/certutil.c b/security/nss/cmd/certutil/certutil.c index 794ac11f7..637926461 100644 --- a/security/nss/cmd/certutil/certutil.c +++ b/security/nss/cmd/certutil/certutil.c @@ -1550,7 +1550,7 @@ AddBasicConstraint(void *extHandle) static SECItem * SignCert(CERTCertDBHandle *handle, CERTCertificate *cert, PRBool selfsign, -SECKEYPrivateKey *selfsignprivkey, char *issuerNickName) +SECKEYPrivateKey *selfsignprivkey, char *issuerNickName, void *pwarg) { SECItem der; SECItem *result = NULL; @@ -1564,14 +1564,14 @@ SECKEYPrivateKey *selfsignprivkey, char *issuerNickName) caPrivateKey = selfsignprivkey; } else { /*CERTCertificate *issuer = CERT_FindCertByNickname(handle, issuerNickName);*/ - CERTCertificate *issuer = PK11_FindCertFromNickname(issuerNickName, NULL); + CERTCertificate *issuer = PK11_FindCertFromNickname(issuerNickName, pwarg); if( (CERTCertificate *)NULL == issuer ) { SECU_PrintError(progName, "unable to find issuer with nickname %s", issuerNickName); return (SECItem *)NULL; } - caPrivateKey = PK11_FindKeyByAnyCert(issuer, (void *)NULL); + caPrivateKey = PK11_FindKeyByAnyCert(issuer, pwarg); if (caPrivateKey == NULL) { SECU_PrintError(progName, "unable to retrieve key %s", issuerNickName); return NULL; @@ -1817,6 +1817,7 @@ CreateCert( int serialNumber, int warpmonths, int validitylength, + void *pwarg, PRBool selfsign, PRBool keyUsage, PRBool extKeyUsage, @@ -1901,7 +1902,7 @@ CreateCert( CERT_FinishExtensions(extHandle); - certDER = SignCert (handle, subjectCert, selfsign, selfsignprivkey, issuerNickName); + certDER = SignCert (handle, subjectCert, selfsign, selfsignprivkey, issuerNickName, pwarg); if (certDER) PR_Write(outFile, certDER->data, certDER->len); @@ -2480,10 +2481,15 @@ main(int argc, char **argv) /* Create a certificate (-C or -S). */ if (certutil.commands[cmd_CreateAndAddCert].activated || certutil.commands[cmd_CreateNewCert].activated) { + if ( certutil.options[opt_PasswordFile].arg) { + pwdata.source = PW_FROMFILE; + pwdata.data = certutil.options[opt_PasswordFile].arg; + } rv = CreateCert(certHandle, certutil.options[opt_IssuerName].arg, inFile, outFile, privkey, serialNumber, warpmonths, validitylength, + &pwdata, certutil.options[opt_SelfSign].activated, certutil.options[opt_AddKeyUsageExt].activated, certutil.options[opt_AddExtKeyUsageExt].activated, |