summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c b/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c
index 25a1170a5..e5516505d 100644
--- a/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c
+++ b/lib/libpkix/pkix_pl_nss/pki/pkix_pl_cert.c
@@ -3150,6 +3150,15 @@ PKIX_PL_Cert_CheckNameConstraints(
if (arena == NULL) {
PKIX_ERROR(PKIX_OUTOFMEMORY);
}
+ /* only check common Name if the usage requires it */
+ if (treatCommonNameAsDNSName) {
+ SECCertificateUsage certificateUsage;
+ certificateUsage = ((PKIX_PL_NssContext*)plContext)->certificateUsage;
+ if ((certificateUsage != certificateUsageSSLServer) &&
+ (certificateUsage != certificateUsageIPsec)) {
+ treatCommonNameAsDNSName = PKIX_FALSE;
+ }
+ }
/* This NSS call returns Subject Alt Names. If
* treatCommonNameAsDNSName is true, it also returns the