Loading security/nss/cmd/smimetools/cmsutil.c +41 −1 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,7 @@ /* /* * cmsutil -- A command to work with CMS data * cmsutil -- A command to work with CMS data * * * $Id: cmsutil.c,v 1.15 2000/10/11 07:21:38 wtc%netscape.com Exp $ * $Id: cmsutil.c,v 1.16 2000/12/05 23:58:01 mcgreer%netscape.com Exp $ */ */ #include "nspr.h" #include "nspr.h" Loading Loading @@ -390,6 +390,13 @@ signed_data(struct signOptionsStr signOptions) NSSCMSSignerInfo *signerinfo; NSSCMSSignerInfo *signerinfo; CERTCertificate *cert, *ekpcert; CERTCertificate *cert, *ekpcert; #ifdef DEBUG fprintf(stderr, "Input to signed_data:\n"); fprintf(stderr, "password [%s]\n", signOptions.options->password); fprintf(stderr, "certUsage [%d]\n", signOptions.options->certUsage); fprintf(stderr, "certdb [%x]\n", signOptions.options->certHandle); fprintf(stderr, "nickname [%s]\n", signOptions.nickname); #endif if (signOptions.nickname == NULL) { if (signOptions.nickname == NULL) { fprintf(stderr, fprintf(stderr, "ERROR: please indicate the nickname of a certificate to sign with.\n"); "ERROR: please indicate the nickname of a certificate to sign with.\n"); Loading @@ -402,6 +409,9 @@ signed_data(struct signOptionsStr signOptions) signOptions.nickname); signOptions.nickname); return NULL; return NULL; } } #ifdef DEBUG fprintf(stderr, "Found certificate for %s\n", signOptions.nickname); #endif /* /* * create the message object * create the message object */ */ Loading Loading @@ -439,6 +449,9 @@ signed_data(struct signOptionsStr signOptions) fprintf(stderr, "ERROR: cannot create CMS signerInfo object.\n"); fprintf(stderr, "ERROR: cannot create CMS signerInfo object.\n"); goto loser; goto loser; } } #ifdef DEBUG fprintf(stderr, "Created CMS message, added signed data w/ signerinfo\n"); #endif /* we want the cert chain included for this one */ /* we want the cert chain included for this one */ if (NSS_CMSSignerInfo_IncludeCerts(signerinfo, NSSCMSCM_CertChain, if (NSS_CMSSignerInfo_IncludeCerts(signerinfo, NSSCMSCM_CertChain, signOptions.options->certUsage) signOptions.options->certUsage) Loading @@ -446,6 +459,9 @@ signed_data(struct signOptionsStr signOptions) fprintf(stderr, "ERROR: cannot find cert chain.\n"); fprintf(stderr, "ERROR: cannot find cert chain.\n"); goto loser; goto loser; } } #ifdef DEBUG fprintf(stderr, "imported certificate\n"); #endif if (signOptions.signingTime) { if (signOptions.signingTime) { if (NSS_CMSSignerInfo_AddSigningTime(signerinfo, PR_Now()) if (NSS_CMSSignerInfo_AddSigningTime(signerinfo, PR_Now()) != SECSuccess) { != SECSuccess) { Loading Loading @@ -494,6 +510,9 @@ signed_data(struct signOptionsStr signOptions) fprintf(stderr, "ERROR: cannot add CMS signerInfo object.\n"); fprintf(stderr, "ERROR: cannot add CMS signerInfo object.\n"); goto loser; goto loser; } } #ifdef DEBUG fprintf(stderr, "created signed-date message\n"); #endif return cmsg; return cmsg; loser: loser: NSS_CMSMessage_Destroy(cmsg); NSS_CMSMessage_Destroy(cmsg); Loading Loading @@ -1121,6 +1140,9 @@ main(int argc, char **argv) SECU_PrintError(progName, "No default cert DB"); SECU_PrintError(progName, "No default cert DB"); exit(1); exit(1); } } #ifdef DEBUG fprintf(stderr, "NSS has been initialized.\n"); #endif #if defined(WIN32) #if defined(WIN32) /*if (outFile == stdout && mode != DECODE) {*/ /*if (outFile == stdout && mode != DECODE) {*/ Loading Loading @@ -1238,6 +1260,11 @@ main(int argc, char **argv) } } pwcb = (options.password != NULL) ? ownpw : NULL; pwcb = (options.password != NULL) ? ownpw : NULL; pwcb_arg = (options.password != NULL) ? (void *)options.password : NULL; pwcb_arg = (options.password != NULL) ? (void *)options.password : NULL; #ifdef DEBUG fprintf(stderr, "cmsg [%x]\n", cmsg); fprintf(stderr, "arena [%x]\n", arena); fprintf(stderr, "password [%s]\n", (char *)pwcb_arg); #endif ecx = NSS_CMSEncoder_Start(cmsg, ecx = NSS_CMSEncoder_Start(cmsg, NULL, NULL, /* DER output callback */ NULL, NULL, /* DER output callback */ &output, arena, /* destination storage */ &output, arena, /* destination storage */ Loading @@ -1248,6 +1275,13 @@ main(int argc, char **argv) fprintf(stderr, "%s: cannot create encoder context.\n", progName); fprintf(stderr, "%s: cannot create encoder context.\n", progName); exit(1); exit(1); } } #ifdef DEBUG fprintf(stderr, "input len [%d]\n", input.len); { int j; for(j=0;j<input.len;j++) fprintf(stderr, "%2x%c", input.data[j], (j>0&&j%35==0)?'\n':' '); } #endif if (input.len > 0) { /* skip if certs-only (or other zero content) */ if (input.len > 0) { /* skip if certs-only (or other zero content) */ rv = NSS_CMSEncoder_Update(ecx, input.data, input.len); rv = NSS_CMSEncoder_Update(ecx, input.data, input.len); if (rv) { if (rv) { Loading @@ -1261,8 +1295,14 @@ main(int argc, char **argv) fprintf(stderr, "%s: failed to encode data.\n", progName); fprintf(stderr, "%s: failed to encode data.\n", progName); exit(1); exit(1); } } #ifdef DEBUG fprintf(stderr, "encoding passed\n"); #endif /*PR_Write(output.data, output.len);*/ /*PR_Write(output.data, output.len);*/ fwrite(output.data, output.len, 1, outFile); fwrite(output.data, output.len, 1, outFile); #ifdef DEBUG fprintf(stderr, "wrote to file\n"); #endif PORT_FreeArena(arena, PR_FALSE); PORT_FreeArena(arena, PR_FALSE); } } if (cmsg) if (cmsg) Loading Loading
security/nss/cmd/smimetools/cmsutil.c +41 −1 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,7 @@ /* /* * cmsutil -- A command to work with CMS data * cmsutil -- A command to work with CMS data * * * $Id: cmsutil.c,v 1.15 2000/10/11 07:21:38 wtc%netscape.com Exp $ * $Id: cmsutil.c,v 1.16 2000/12/05 23:58:01 mcgreer%netscape.com Exp $ */ */ #include "nspr.h" #include "nspr.h" Loading Loading @@ -390,6 +390,13 @@ signed_data(struct signOptionsStr signOptions) NSSCMSSignerInfo *signerinfo; NSSCMSSignerInfo *signerinfo; CERTCertificate *cert, *ekpcert; CERTCertificate *cert, *ekpcert; #ifdef DEBUG fprintf(stderr, "Input to signed_data:\n"); fprintf(stderr, "password [%s]\n", signOptions.options->password); fprintf(stderr, "certUsage [%d]\n", signOptions.options->certUsage); fprintf(stderr, "certdb [%x]\n", signOptions.options->certHandle); fprintf(stderr, "nickname [%s]\n", signOptions.nickname); #endif if (signOptions.nickname == NULL) { if (signOptions.nickname == NULL) { fprintf(stderr, fprintf(stderr, "ERROR: please indicate the nickname of a certificate to sign with.\n"); "ERROR: please indicate the nickname of a certificate to sign with.\n"); Loading @@ -402,6 +409,9 @@ signed_data(struct signOptionsStr signOptions) signOptions.nickname); signOptions.nickname); return NULL; return NULL; } } #ifdef DEBUG fprintf(stderr, "Found certificate for %s\n", signOptions.nickname); #endif /* /* * create the message object * create the message object */ */ Loading Loading @@ -439,6 +449,9 @@ signed_data(struct signOptionsStr signOptions) fprintf(stderr, "ERROR: cannot create CMS signerInfo object.\n"); fprintf(stderr, "ERROR: cannot create CMS signerInfo object.\n"); goto loser; goto loser; } } #ifdef DEBUG fprintf(stderr, "Created CMS message, added signed data w/ signerinfo\n"); #endif /* we want the cert chain included for this one */ /* we want the cert chain included for this one */ if (NSS_CMSSignerInfo_IncludeCerts(signerinfo, NSSCMSCM_CertChain, if (NSS_CMSSignerInfo_IncludeCerts(signerinfo, NSSCMSCM_CertChain, signOptions.options->certUsage) signOptions.options->certUsage) Loading @@ -446,6 +459,9 @@ signed_data(struct signOptionsStr signOptions) fprintf(stderr, "ERROR: cannot find cert chain.\n"); fprintf(stderr, "ERROR: cannot find cert chain.\n"); goto loser; goto loser; } } #ifdef DEBUG fprintf(stderr, "imported certificate\n"); #endif if (signOptions.signingTime) { if (signOptions.signingTime) { if (NSS_CMSSignerInfo_AddSigningTime(signerinfo, PR_Now()) if (NSS_CMSSignerInfo_AddSigningTime(signerinfo, PR_Now()) != SECSuccess) { != SECSuccess) { Loading Loading @@ -494,6 +510,9 @@ signed_data(struct signOptionsStr signOptions) fprintf(stderr, "ERROR: cannot add CMS signerInfo object.\n"); fprintf(stderr, "ERROR: cannot add CMS signerInfo object.\n"); goto loser; goto loser; } } #ifdef DEBUG fprintf(stderr, "created signed-date message\n"); #endif return cmsg; return cmsg; loser: loser: NSS_CMSMessage_Destroy(cmsg); NSS_CMSMessage_Destroy(cmsg); Loading Loading @@ -1121,6 +1140,9 @@ main(int argc, char **argv) SECU_PrintError(progName, "No default cert DB"); SECU_PrintError(progName, "No default cert DB"); exit(1); exit(1); } } #ifdef DEBUG fprintf(stderr, "NSS has been initialized.\n"); #endif #if defined(WIN32) #if defined(WIN32) /*if (outFile == stdout && mode != DECODE) {*/ /*if (outFile == stdout && mode != DECODE) {*/ Loading Loading @@ -1238,6 +1260,11 @@ main(int argc, char **argv) } } pwcb = (options.password != NULL) ? ownpw : NULL; pwcb = (options.password != NULL) ? ownpw : NULL; pwcb_arg = (options.password != NULL) ? (void *)options.password : NULL; pwcb_arg = (options.password != NULL) ? (void *)options.password : NULL; #ifdef DEBUG fprintf(stderr, "cmsg [%x]\n", cmsg); fprintf(stderr, "arena [%x]\n", arena); fprintf(stderr, "password [%s]\n", (char *)pwcb_arg); #endif ecx = NSS_CMSEncoder_Start(cmsg, ecx = NSS_CMSEncoder_Start(cmsg, NULL, NULL, /* DER output callback */ NULL, NULL, /* DER output callback */ &output, arena, /* destination storage */ &output, arena, /* destination storage */ Loading @@ -1248,6 +1275,13 @@ main(int argc, char **argv) fprintf(stderr, "%s: cannot create encoder context.\n", progName); fprintf(stderr, "%s: cannot create encoder context.\n", progName); exit(1); exit(1); } } #ifdef DEBUG fprintf(stderr, "input len [%d]\n", input.len); { int j; for(j=0;j<input.len;j++) fprintf(stderr, "%2x%c", input.data[j], (j>0&&j%35==0)?'\n':' '); } #endif if (input.len > 0) { /* skip if certs-only (or other zero content) */ if (input.len > 0) { /* skip if certs-only (or other zero content) */ rv = NSS_CMSEncoder_Update(ecx, input.data, input.len); rv = NSS_CMSEncoder_Update(ecx, input.data, input.len); if (rv) { if (rv) { Loading @@ -1261,8 +1295,14 @@ main(int argc, char **argv) fprintf(stderr, "%s: failed to encode data.\n", progName); fprintf(stderr, "%s: failed to encode data.\n", progName); exit(1); exit(1); } } #ifdef DEBUG fprintf(stderr, "encoding passed\n"); #endif /*PR_Write(output.data, output.len);*/ /*PR_Write(output.data, output.len);*/ fwrite(output.data, output.len, 1, outFile); fwrite(output.data, output.len, 1, outFile); #ifdef DEBUG fprintf(stderr, "wrote to file\n"); #endif PORT_FreeArena(arena, PR_FALSE); PORT_FreeArena(arena, PR_FALSE); } } if (cmsg) if (cmsg) Loading