From 5d54f1ef065ff467d18da4bbbf2ab478d630e97f Mon Sep 17 00:00:00 2001 From: "nelson%bolyard.com" Date: Thu, 3 May 2007 04:18:19 +0000 Subject: [PATCH] =?UTF-8?q?Bug=20371470=20=C2=96=20vfychain=20needs=20opti?= =?UTF-8?q?on=20to=20verify=20for=20specific=20date,=20r=3Dneil,julien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.0.0.236/trunk@225508 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/security/nss/cmd/lib/secutil.c | 16 +++++++++++++--- mozilla/security/nss/cmd/lib/secutil.h | 8 +++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/mozilla/security/nss/cmd/lib/secutil.c b/mozilla/security/nss/cmd/lib/secutil.c index ae27d454b27..8c7a5b8f17a 100644 --- a/mozilla/security/nss/cmd/lib/secutil.c +++ b/mozilla/security/nss/cmd/lib/secutil.c @@ -3258,9 +3258,10 @@ bestCertName(CERTCertificate *cert) { } void -SECU_printCertProblems(FILE *outfile, CERTCertDBHandle *handle, +SECU_printCertProblemsOnDate(FILE *outfile, CERTCertDBHandle *handle, CERTCertificate *cert, PRBool checksig, - SECCertificateUsage certUsage, void *pinArg, PRBool verbose) + SECCertificateUsage certUsage, void *pinArg, PRBool verbose, + PRTime datetime) { CERTVerifyLog log; CERTVerifyLogNode *node = NULL; @@ -3272,7 +3273,7 @@ SECU_printCertProblems(FILE *outfile, CERTCertDBHandle *handle, log.arena = PORT_NewArena(512); log.head = log.tail = NULL; log.count = 0; - CERT_VerifyCertificate(handle, cert, checksig, certUsage, PR_Now(), pinArg, &log, NULL); + CERT_VerifyCertificate(handle, cert, checksig, certUsage, datetime, pinArg, &log, NULL); if (log.count > 0) { fprintf(outfile,"PROBLEM WITH THE CERT CHAIN:\n"); @@ -3358,6 +3359,15 @@ SECU_printCertProblems(FILE *outfile, CERTCertDBHandle *handle, PORT_SetError(err); /* restore original error code */ } +void +SECU_printCertProblems(FILE *outfile, CERTCertDBHandle *handle, + CERTCertificate *cert, PRBool checksig, + SECCertificateUsage certUsage, void *pinArg, PRBool verbose) +{ + SECU_printCertProblemsOnDate(outfile, handle, cert, checksig, + certUsage, pinArg, verbose, PR_Now()); +} + SECOidTag SECU_StringToSignatureAlgTag(const char *alg) { diff --git a/mozilla/security/nss/cmd/lib/secutil.h b/mozilla/security/nss/cmd/lib/secutil.h index 4cede1cce0f..3252d691ff6 100644 --- a/mozilla/security/nss/cmd/lib/secutil.h +++ b/mozilla/security/nss/cmd/lib/secutil.h @@ -168,12 +168,18 @@ extern void SECU_PrintSystemError(char *progName, char *msg, ...); /* Return informative error string */ extern const char * SECU_Strerror(PRErrorCode errNum); -/* print information about cert verification failure */ +/* print information about cert verification failure at time == now */ extern void SECU_printCertProblems(FILE *outfile, CERTCertDBHandle *handle, CERTCertificate *cert, PRBool checksig, SECCertificateUsage certUsage, void *pinArg, PRBool verbose); +/* print information about cert verification failure at specified time */ +extern void +SECU_printCertProblemsOnDate(FILE *outfile, CERTCertDBHandle *handle, + CERTCertificate *cert, PRBool checksig, SECCertificateUsage certUsage, + void *pinArg, PRBool verbose, PRTime datetime); + /* Read the contents of a file into a SECItem */ extern SECStatus SECU_FileToItem(SECItem *dst, PRFileDesc *src); extern SECStatus SECU_TextFileToItem(SECItem *dst, PRFileDesc *src);