The X.509-canonical way to do this is to have the old trust anchor sign a
new certificate containing the new public key, using the same Issuer name
and a different AuthorityKeyIdentifier.  This is called "key rollover", but
it retains the security level of the old key (meaning, if the original
trust anchor is a 1024-bit key, then when the original key is brute-forced
it could sign an alternative rollover certificate).

-Kyle H


On Tue, May 27, 2014 at 8:58 AM, Sven Reissmann <s...@0x80.io> wrote:

> Hi,
>
> thank you all for the clarification. As most users do not have OpenSSL
> 1.0.2, this doesn't seem to solve my problem.
>
> What I want to achieve is having a new rootCA, which replaces an
> oldRootCA, which I am using until now.
>
> So far the trust chain is: oldRoot -> oldServerCert.
>
> What I thought should be possible is building this trust chain:
> oldRoot -> newRoot -> newSubCA -> newServerCert
>
> As Users are trusting oldRoot, changing the oldServerCert to
> newServerCert is no problem. After some time, users would move trust to
> newRoot and I can "disable" oldRoot.
>
> This doesn't seem possible, if I understand your answers correct.
>
> Is there another/better/default way of smoothly changing a trust anchor?
> I.e. by cross-signing the newRoot by itself and the oldRoot?
>
> Thanks, Sven.
>
> --
> PGP Key: https://0x80.io/pub/files/key.asc
> PGP Key Fingerprint: 2DF2 79CD 48DD 4D38 F0B6  7557 2E68 D557 49AA 1D99
>
> Note: I'll be transitioning away from this key in the near future.
>
> On 05/27/2014 05:16 PM, Dr. Stephen Henson wrote:
> > On Tue, May 27, 2014, Viktor Dukhovni wrote:
> >
> >> On Tue, May 27, 2014 at 03:44:46PM +0200, Sven Reissmann wrote:
> >>
> >>> But, should't it also be possible to only verify the trust chain up to
> >>> the subCA (i.e., if I fully trust this CA)? I would have expected that
> >>> this will verify sucessfully:
> >>
> >> OpenSSL versions prior to 1.0.2 require that all trusted certificates
> >> be self-signed.  In 1.0.2 it is possible to use X509_verify_cert()
> >> with a trust anchor that is not self-signed, but I don't recall
> >> whether this is possible through the CLI.
> >>
> >
> > It is with the -parial_chain option.
> >
> > Steve.
> > --
> > Dr Stephen N. Henson. OpenSSL project core developer.
> > Commercial tech support now available see: http://www.openssl.org
> > ______________________________________________________________________
> > OpenSSL Project                                 http://www.openssl.org
> > User Support Mailing List                    openssl-users@openssl.org
> > Automated List Manager                           majord...@openssl.org
> >
>
>

Reply via email to