On Wed, Oct 7, 2020 at 8:29 PM Kurt Roeckx <k...@roeckx.be> wrote:

> On Wed, Oct 07, 2020 at 12:29:10PM +0100, Matt Caswell wrote:
> > Issue #12612 exposes a problem with how we handle keys that contain
> > private components but not public components.
> >
> > There is a widespread assumption in the code that keys with private
> > components must have public components. There is text in our public
> > documentation that states this (and that text dates back to 2006).
> >
> > OTOH, the code has not always enforced this. Issue #12612 describes a
> > scenario where this has not historically been enforced, and it now is in
> > the current 3.0 code causing a regression.
> >
> > There are differences of opinion on how this should be handled. Some
> > have the opinion that we should change the model so that we explicitly
> > allow private keys to exists without the public components. Others feel
> > that we should continue with the old model.
>
> It seems to me that we have various ways forward:
> 1) Enforce that a private key requires the public key
> 2) Don't enforce it, just give an error when you try to use the
>    public key and it's not available.
> 3) Make it work for the same cases that worked with 1.1.1
> 4) Generate the public key from the private key
> 5) Have some kind of transition where we do 2), 3)
>    or 4) in 3.0, but will move to 1) at some later point.
> 6) do 2), but enforce it in the fips provider
>
> I don't know if we do any any kind of consistency checks on the key
> now when it's loaded. But 2) would then imply that the check is
> skipped instead of returning an error.
>

4) maybe not applicable when a private key is on the hardware token.

-- 
SY, Dmitry Belyavsky

Reply via email to