After a short exchange with Santosh we seem to agree to the following: - It is an obligation for a CA that issues a V3 certificate thatis usable for certsigning, that it MUST have ca=true in basicconstraints and keysuage=certsign.
- it is not a requirement for a path validation algorithm to verify that both extensions are present:
(k) Verify that the certificate is a CA certificate (as specified
in a basicConstraints extension or as verified out-of-band).
(n) If a key usage extension is present, verify that the
keyCertSign bit is set.
- A certificate that has Ca=true and keyusage=digitalsignature is NOT
an invalid certficate in 3280, it can be used for purposes other
than verification of signatures on certificates and CRLs.
It is invalid for verification of signatures on certificates and CRLs.
- A tool that wants to distinguish whether a certificate can be used for 1. cert signing, 2. crl signing and 3. anything else in the case when keyusage and basicconstraints are present, determines case 1: by requiring CA=TRUE+keyusage + certsigning, 2: the second keyusage=crlsign ca=any and 3: ca=any and appropriate key usage.
I hope that this is the correct summary.
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature