0

While migrating from OpenSSL 1.0.2 to 3.0 code compilation is failing reason being most of the structures are not defined in latest header file.

  • specifies undefined struct/union 'x509_st'
  • specifies undefined struct/union 'X509_crl_st'
  • specifies undefined struct/union 'x509_store_ctx_st
  • specifies undefined struct/union 'X509_name_entry_st'
  • use of undefined type 'evp_md_st'
  • use of undefined type 'ssl_st'
  • specifies undefined struct/union 'X509_extension_st
  • undefined struct/union 'X509_name_entry_st'
  • use of undefined type 'evp_md_st

What is the alternate to this, please help. I dont find documentation related to structures in openSSL 3.0 migration guide. Am I missing something ?

  • 1
    In OpenSSL 1.1, most of the struct types were taken out of the public interface, hidden behind opaque types. This way, the devs can more easily make changes to the structs from one version to version without breaking user's code and requiring recompiles. Anywhere that you were previously accessing struct fields directly, you now have to use new getter/setter functions instead. There are plenty of websites floating around that describe migrations from 1.0.2 to 1.1, and 1.1 to 3.0. – Remy Lebeau Jan 13 '23 at 16:21
  • @RemyLebeau thank you for the response, can you share the reference of any website please. – Priyanka Chauhan Jan 16 '23 at 06:19

0 Answers0