From: David von Oheimb Date: Wed, 4 Nov 2020 11:23:34 +0000 (+0100) Subject: CHANGES.md: Mention (strict) checks recently added to X509_verify_cert() X-Git-Tag: openssl-3.0.0-alpha9~170 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0e071fbce49c19f59d740dbc5ebff873cd83eefa;p=thirdparty%2Fopenssl.git CHANGES.md: Mention (strict) checks recently added to X509_verify_cert() Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/13312) --- diff --git a/CHANGES.md b/CHANGES.md index e9e9bc13c34..13881675773 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -831,6 +831,30 @@ OpenSSL 3.0 *Richard Levitte* + * Added several checks to X509_verify_cert() according to requirements in + RFC 5280 in case `X509_V_FLAG_X509_STRICT` is set + (which may be done by using the CLI option `-x509_strict`): + * The basicConstraints of CA certificates must be marked critical. + * CA certificates must explicitly include the keyUsage extension. + * If a pathlenConstraint is given the key usage keyCertSign must be allowed. + * The issuer name of any certificate must not be empty. + * The subject name of CA certs, certs with keyUsage crlSign, + and certs without subjectAlternativeName must not be empty. + * If a subjectAlternativeName extension is given it must not be empty. + * The signatureAlgorithm field and the cert signature must be consistent. + * Any given authorityKeyIdentifier and any given subjectKeyIdentifier + must not be marked critical. + * The authorityKeyIdentifier must be given for X.509v3 certs + unless they are self-signed. + * The subjectKeyIdentifier must be given for all X.509v3 CA certs. + + *David von Oheimb* + + * Certificate verification using X509_verify_cert() meanwhile rejects EC keys + with explicit curve parameters (specifiedCurve) as required by RFC 5480. + + *Tomas Mraz* + * For built-in EC curves, ensure an EC_GROUP built from the curve name is used even when parsing explicit parameters, when loading a encoded key or calling `EC_GROUP_new_from_ecpkparameters()`/