Without this patch compilation with LibreSSL-2.8.3 (it is the latest stable version) fails with:
[ 49%] Building CXX object plugins/qca-ossl/CMakeFiles/qca-ossl.dir/qca-ossl.cpp.o /home/stefan/projects/qca/plugins/qca-ossl/qca-ossl.cpp:66: warning: "M_ASN1_IA5STRING_new" redefined #define M_ASN1_IA5STRING_new() ASN1_IA5STRING_new() In file included from /usr/include/openssl/objects.h:960, from /usr/include/openssl/evp.h:86, from /home/stefan/projects/qca/plugins/qca-ossl/qca-ossl.cpp:30: /usr/include/openssl/asn1.h:636: note: this is the location of the previous definition #define M_ASN1_IA5STRING_new() (ASN1_IA5STRING *)\ /home/stefan/projects/qca/plugins/qca-ossl/qca-ossl.cpp:67: warning: "RSA_F_RSA_EAY_PRIVATE_DECRYPT" redefined #define RSA_F_RSA_EAY_PRIVATE_DECRYPT RSA_F_RSA_OSSL_PRIVATE_DECRYPT In file included from /usr/include/openssl/x509.h:96, from /usr/include/openssl/pem.h:71, from /home/stefan/projects/qca/plugins/qca-ossl/qca-ossl.cpp:38: /usr/include/openssl/rsa.h:466: note: this is the location of the previous definition #define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101 /home/stefan/projects/qca/plugins/qca-ossl/qca-ossl.cpp:71:10: fatal error: openssl/kdf.h: No such file or directory #include <openssl/kdf.h> ^~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [plugins/qca-ossl/CMakeFiles/qca-ossl.dir/build.make:67: plugins/qca-ossl/CMakeFiles/qca-ossl.dir/qca-ossl.cpp.o] Error 1
Provide RSA_meth_set_{sign,verify} for LibreSSL.
Do not redefine M_ASN1_IA5STRING_new and RSA_F_RSA_EAY_PRIVATE_DECRYPT.
Disable HKDF.