Skip to content

Fix for OpenSSL 1.1.1 on boost/asio #949

Closed
@cpsauer

Description

Thanks for building such a great library!

I was patching things to work on with OpenSSL 1.1.1 locally, which seemed like a good idea, since that's the latest LTS version. It turned out it was super easy, so I wanted to try to contribute the change back in case that's helpful.

All you need to do to get things to build with OpenSSL 1.1.1--at least for MacOS and iPhoneOS--is to change X509_STORE_CTX_get_chain to X509_STORE_CTX_get0_chain in x509_cert_utilities.cpp. Upgrading to the latest version of boost/asio and websocketpp as fixes all the other issues. It looks like they just renamed X509_STORE_CTX_get0_chain, since internally, the compatibility flags just redefine X509_STORE_CTX_get_chain to X509_STORE_CTX_get0_chain.

If you want to maintain compatibility with openssl 1.0, just conditionally compile around OPENSSL_VERSION like (in x509_cert_utilities.cpp):

#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
    STACK_OF(X509)* certStack = X509_STORE_CTX_get_chain(storeContext);
#else 
    STACK_OF(X509)* certStack = X509_STORE_CTX_get0_chain(storeContext);
#endif

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions