Index: nss/mozilla/security/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c |
=================================================================== |
--- nss/mozilla/security/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c (revision 142244) |
+++ nss/mozilla/security/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c (working copy) |
@@ -1669,13 +1669,13 @@ |
void *plContext) |
{ |
CERTCertificate *nssCert = NULL; |
- PKIX_UInt32 myVersion = 1; |
+ PKIX_UInt32 myVersion = 0; /* v1 */ |
PKIX_ENTER(CERT, "PKIX_PL_Cert_GetVersion"); |
PKIX_NULLCHECK_THREE(cert, cert->nssCert, pVersion); |
nssCert = cert->nssCert; |
- if (nssCert->version.data) { |
+ if (nssCert->version.len != 0) { |
myVersion = *(nssCert->version.data); |
} |
@@ -2889,6 +2889,9 @@ |
status = CERT_VerifySignedDataWithPublicKey(tbsCert, nssPubKey, wincx); |
if (status != SECSuccess) { |
+ if (PORT_GetError() != SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED) { |
+ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); |
+ } |
PKIX_ERROR(PKIX_SIGNATUREDIDNOTVERIFYWITHTHEPUBLICKEY); |
} |