On Fri, Feb 04, 2022 at 11:02:24PM +0500, Илья Шипицин wrote:
> пт, 4 февр. 2022 г. в 19:16, William Lallemand <[email protected]>:
> 
> > On Fri, Feb 04, 2022 at 11:52:06AM +0100, William Lallemand wrote:
> > >
> > > I just tried to build with the latest boringSSL version, the problem is
> > > on our side:
> > >
> > > We are defining X509_OBJECT_get0_X509_CRL() because it does not exist in
> > > boringSSL, and inside it we are accessing the members of the X509_OBJECT
> > > and it can't work since it's opaque.
> > >
> > > We need to use the accessors instead, or find an alternative API.
> > >
> >
> > So, basically, we need to extract some X509_CRL from an X509_STORE which
> > could be done in OpenSSL  with the X509_OBJECT API by using
> > X509_OBJECT_get0_X509_CRL() which is not available in boringSSL
> >
> > We are kind of stuck there because this is supposed to be the low
> > level API, now everything is opaque and we can't do much.
> >
> > The alternative would be to stop using the X509_STORE for storing the
> > CRL, and use a STACK_OF(X509_CRL)... But we use the store because it
> > could be either a X509_CRL or a X509... so it would be kind of
> > redefining a X509_STORE API... and I honestly don't want to do that.
> >
> > In my opinion there is a problem in their API because there is no
> > accessor for the X509_CRL in a X509_OBJECT. Which is kind of weird
> > because they have a X509_OBJECT_get0_X509() accessor, they probably just
> > missed it.
> >
> 
> we already use "#ifdef X509_V_FLAG_CRL_CHECK" for enabling those functions.
> in theory we have 2 choices
> 
> 1) adopt X509_OBJECT_get0_X509_CRL to BoringSSL in some way
> 2) exclude CRL manipulations under BoringSSL by adjusting ifdef

I can't spend more time on this, feel free to open a bug report on their
bugtracker, this is probably better for everyone.

You can adjust the ifdef as well.

-- 
William Lallemand

Reply via email to