migration from openssl 1.0.2n to 1.1.1

Matt Caswell matt at openssl.org
Mon Apr 8 13:42:15 UTC 2019

On 08/04/2019 08:26, Chethan Kumar wrote:
> Dear all,
> We did openssl version upgrade from 1.0.2n to 1.1.1. While compiling some
> package dependent on openssl, getting errors related to M_ASN1_ D2I AND I2D
> functions.
> Digging deeper got to know that, in latest openssl asn1_mac.h header is deprecated.
> Can someone please help me out in knowing what are changes to be done to make it
> work.?

It looks like you are using the very old ASN1 macros. These were replaced with
the current ASN1 code in 2002 - and then removed completely in 1.1.0.

Are you reading/writing custom ASN.1 structures? If so then you'll need to
update to use the new code. To see some examples take a look at the many ASN.1
structures defined in x509v3.h with matching "DECLARE_ASN1_FUNCTIONS" macro
calls to declare the i2d/d2i function to write/read them. Internally to OpenSSL
there are matching IMPLEMENT_ASN1_FUNCTIONS calls to provide the implementations
for these.

For example see this definition of an ASN.1 structure in the OpenSSL code:


The IMPLEMENT_ASN1_FUNCTIONS macro shown there results in the functions
described on this page being available:


Hope that helps,


More information about the openssl-users mailing list