> From: openssl-users <openssl-users-boun...@openssl.org> On Behalf Of Viktor
> Dukhovni
> Sent: Wednesday, 31 March, 2021 10:31
> To: openssl-users@openssl.org
> Subject: Re: Why does OpenSSL report google's certificate is "self-signed"?
>
> It looks like Google includes a self-signed root CA in the wire
> certificate chain, and if no match is found in the trust store,
> you'll get the reported error.

What do people think about this practice of including the root in the chain?

As far as I can see, neither PKIX (RFC 5280) nor the CA/BF Baseline 
Requirements say anything about the practice, though I may have missed 
something. I had a vague memory that some standard or "best practice" guideline 
somewhere said the server should send the chain up to but not including the 
root, but I don't know what that might have been.

On the one hand, including the root doesn't help with path validation: either 
some certificate along the chain is a trust anchor already, in which case 
there's no need to include the root; or it isn't, in which case the peer has no 
reason to trust the chain.

On the other, it's useful for debugging, and perhaps for quickly finding 
whether the highest intermediate in the chain is signed by a trusted root if 
that intermediate is missing an AKID (though we'd hope that isn't the case).

I can also see an application deferring trust to the user in this case: "this 
chain ends in this root, which you don't currently trust, but maybe you'd like 
to add it?". Which doesn't seem like a great plan either -- and PKIX says trust 
anchors should be added using a trustworthy out-of-band procedure, which this 
is not -- but I suppose it's a conceivable use case.

--
Michael Wojcik

Reply via email to