[openssl-users] Trusting certificates with the same subject name and overlapping validity periods
openssl at jordan.maileater.net
Wed Sep 20 21:48:20 UTC 2017
On 9/20/2017 2:25 PM, Viktor Dukhovni wrote:
>> On Sep 20, 2017, at 12:33 PM, Jordan Brown <openssl at jordan.maileater.net> wrote:
>> Q: Does OpenSSL's trust-list verification support trusting multiple certificates with the same subject name and overlapping validity periods?
>> In more detail:
>> We have customers who issue replacement certificates with the same subject name and different validity periods. We'd like to be able to straightforwardly add the new certificates to the trust list and have them work, but seem to find that certificate verification doesn't handle the case. (Mozilla NSS does seem to handle it.)
> Generally speaking, if the latest certificate has the same key, then
> it should cover the older ones, which can be dropped from the trust list.
> If, however, the newer certificates have a different key, then everything
> should work, provided the certificates issued under the new key carry
> an "authority key identifier" extension, which matches the corresponding
> "subject key identifier" in the issuer CA certificate.
> The above also works with "authorityCertSerialNumber", see
> If, however, the newer certificate has a different key, and the same
> subject DN, but does not place matching distinct subject key identifiers
> in the certificates it issues, then OpenSSL will not correctly handle
> multiple candidate issuers that differ in the public key, but provide
> no hints in the issued certificates which issuer to use.
I'm not familiar with those extensions and will need to do more research.
However, it sounds like you're assuming a CA-issued certificate where we
have the CA certificate in the trust list.
That's not the case. These are (in the most relevant cases) self-signed
certificates or CA-issued certificates where we have only the leaf
certificate in the trust list.
I suspect that they are indeed falling into that last case, where the
only way to know which certificate in the trust list is "right" is to
try the crypto verification on each trusted certificate until one
succeeds. (Or just compare the certificate presented with the ones in
the trust list.)
Jordan Brown, Oracle Solaris
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the openssl-users