On October 28, 2009 12:10:16 pm Mourad Cherfaoui (mcherfao) wrote:
> Thanks Steve,
>
> Yes, the keyUsage is present but the sign bit is not set. As a background
> on this, the user does not want his CA to set the sign bit for non-root
> certificates.
>
If the keyUsage is present and the certSign bit is NOT set in a CA certificate
(even an intermediate cert), then that cert may NOT be used to sign
certificates.
From RFC5280:
The digitalSignature bit is asserted when the subject public key
is used for verifying digital signatures, *other than signatures on
certificates (bit 5) and CRLs (bit 6)*, such as those used in an
entity authentication service, a data origin authentication
service, and/or an integrity service.
The keyCertSign bit is asserted when the subject public key is
used for verifying signatures on public key certificates. If the
keyCertSign bit is asserted, then the cA bit in the basic
constraints extension (Section 4.2.1.9) MUST also be asserted.
(Emphasis mine).
> I am not sure I understand why the client is broken? Did you mean that the
> sign bit can be omitted if the client sends the entire chain of
> certificates (except maybe the root) AND the server has the certificates
> chain as well? Thanks.
>
The Intermediate CA Certificate is broken, not the client. The client software
is 100% right in rejecting the chain. I would strongly suggest to go back and
re-issue the intermediate CA following RFC5280. If you do not, your PKI will
keep failing in new and interesting ways.
Have fun.
--
Patrick Patterson
President and Chief PKI Architect,
Carillon Information Security Inc.
http://www.carillon.ca
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [email protected]