RT3809: basicConstraints is critical This is really a security bugfix, not enhancement any more. Everyone knows critical extensions. Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
diff --git a/apps/openssl-vms.cnf b/apps/openssl-vms.cnf index 5b3a27f..0092a65 100644 --- a/apps/openssl-vms.cnf +++ b/apps/openssl-vms.cnf
@@ -233,11 +233,7 @@ authorityKeyIdentifier=keyid:always,issuer -# This is what PKIX recommends but some broken software chokes on critical -# extensions. -#basicConstraints = critical,CA:true -# So we do this instead. -basicConstraints = CA:true +basicConstraints = critical,CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best
diff --git a/apps/openssl.cnf b/apps/openssl.cnf index 53c4bef..b3e7444 100644 --- a/apps/openssl.cnf +++ b/apps/openssl.cnf
@@ -233,11 +233,7 @@ authorityKeyIdentifier=keyid:always,issuer -# This is what PKIX recommends but some broken software chokes on critical -# extensions. -#basicConstraints = critical,CA:true -# So we do this instead. -basicConstraints = CA:true +basicConstraints = critical,CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best
diff --git a/doc/apps/req.pod b/doc/apps/req.pod index a891c3e..299d092 100644 --- a/doc/apps/req.pod +++ b/doc/apps/req.pod
@@ -543,7 +543,7 @@ subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always - basicConstraints = CA:true + basicConstraints = critical, CA:true Sample configuration containing all field values:
diff --git a/test/CAss.cnf b/test/CAss.cnf index 336e82f..b20a242 100644 --- a/test/CAss.cnf +++ b/test/CAss.cnf
@@ -71,6 +71,6 @@ [ v3_ca ] subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always -basicConstraints = CA:true,pathlen:1 +basicConstraints = critical,CA:true,pathlen:1 keyUsage = cRLSign, keyCertSign issuerAltName=issuer:copy
diff --git a/test/certs/mkcert.sh b/test/certs/mkcert.sh index ec2e374..daa0679 100755 --- a/test/certs/mkcert.sh +++ b/test/certs/mkcert.sh
@@ -88,7 +88,7 @@ local skid="subjectKeyIdentifier = hash" local akid="authorityKeyIdentifier = keyid" - exts=$(printf "%s\n%s\n%s\n" "$skid" "$akid" "basicConstraints = CA:true") + exts=$(printf "%s\n%s\n%s\n" "$skid" "$akid" "basicConstraints = critical,CA:true") for eku in "$@" do exts=$(printf "%s\nextendedKeyUsage = %s\n" "$exts" "$eku") @@ -107,7 +107,7 @@ local skid="subjectKeyIdentifier = hash" local akid="authorityKeyIdentifier = keyid" - exts=$(printf "%s\n%s\n%s\n" "$skid" "$akid" "basicConstraints = CA:true") + exts=$(printf "%s\n%s\n%s\n" "$skid" "$akid" "basicConstraints = critical,CA:true") for eku in "$@" do exts=$(printf "%s\nextendedKeyUsage = %s\n" "$exts" "$eku")