Re: [TLS] Verifying X.509 Certificate Chains out of order
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TLS] Verifying X.509 Certificate Chains out of order



Stefan Santesson wrote:
> 
> On the original question:
> 
> > It is claimed that OpenSSL, IE and Firefox does not enforce the second
> > MUST in the paragraph above, and succeeds in verifying an
> > out-of-sequence chain.  I haven't verified the claim.
> 
> A Microsoft based SSL server will insert the certificates in order.
> A Microsoft based SSL client doesn't require the certificates to be
> in order. The client simply passes these certificates to the
> CertGetCertificateChain API in the hAdditionalStore parameter.
> This will validate the subject certificate regardless of order.

I would appreciate if we could discuss the issue with terms of simple
facts instead of in terms of a proprietary API.

My familiarity with Microsoft CryptoAPI is close to zero,
but a first glance suggests that you MUST explicitly provide
an End Entity cert to CertGetCertificateChain(), parameter pCertContext.

Either you have a hen-and-egg problem, or the certificate_list
is not as unsorted as you claim it is.  How do you know which one
is the End Entity cert without either relying that it is the first
cert (as required by all existings TLS specs) or by first doing
a manual search and applying heuristics (something that I seriously
frown upon).

-Martin
_______________________________________________
TLS mailing list
TLS at ietf.org
https://www.ietf.org/mailman/listinfo/tls



Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.