Problem with upgrade to 3.0 - d2i_ASN1_SET bad class

ivano giancaterina ivanogiancaterina at gmail.com
Mon Feb 22 13:58:48 UTC 2021


Hello,
I'm currently performing an upgrade from 1.0.2 to 3.0 and I'm having some
difficulties.
Our code is very old and some assumptions could have changed during time.
Anyway the problem I have right now is about d2i_ASN1_SET and i2d_ASN1_SET
functions that in OpenSSL 3 are not available anymore.
In particular I have the function
i2d_ASN1_SET_OF_X509_CRL( stack, &position, reinterpret_cast<
int(*)(X509_CRL*,unsigned char**) >( i2d_X509_CRL ),  1,
V_ASN1_CONTEXT_SPECIFIC,  IS_SET ) );

In version 3 of my code I did the following:
ASN1_ITEM_TEMPLATE(X509_CRLStack) =
        ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SET_ORDER, 0, X509_CRLStack,
X509_CRL)
ASN1_ITEM_TEMPLATE_END(X509_CRLStack);
IMPLEMENT_ASN1_FUNCTIONS(X509_CRLStack);
I replaced i2d_ASN1_SET_OF_X509_CRL with i2d_X509_CRLStack( stack,
&position )

The problem arises when I save the result and try to read with version
1.0.2 of my code. I have to be sure to garante legacy compatibility
In d2i_X509_CRLStack I get error bad class

Can you please help me to understand  what I'm doing wrong?

Regards
Ivano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20210222/1887fb98/attachment.html>


More information about the openssl-users mailing list