Allow certificates with Basic Constraints CA:false, pathlen:0
authorTomas Mraz <tmraz@fedoraproject.org>
Thu, 2 Apr 2020 13:56:12 +0000 (15:56 +0200)
committerTomas Mraz <tmraz@fedoraproject.org>
Mon, 6 Apr 2020 08:28:18 +0000 (10:28 +0200)
commit00a0da2f021e6a0bc9519a6a9e5be66d45e6fc91
treecd754ac686574cc6aff1778bcd0e1f78f4a3953d
parentd251c4ecc11c19628fe86d82b4b4c47cfea97c17
Allow certificates with Basic Constraints CA:false, pathlen:0

Do not mark such certificates with EXFLAG_INVALID although they
violate the RFC 5280, they are syntactically correct and
openssl itself can produce such certificates without any errors
with command such as:

openssl x509 -req -signkey private.pem -in csr.pem -out cert.pem \
  -extfile <(echo "basicConstraints=CA:FALSE,pathlen:0")

With the commit ba4356ae4002a04e28642da60c551877eea804f7 the
EXFLAG_INVALID causes openssl to not consider such certificate
even as leaf self-signed certificate which is breaking existing
installations.

Fixes: #11456

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11463)

(cherry picked from commit 428cf5ff83a48d0b51c97476586b2cbd053b6302)
crypto/x509v3/v3_purp.c