Topic: Drop in replacement for OpenSSL to use with Qt 5.x

We are investigating replacing OpenSSL with WolfSSL for our product. While we've made the necessary changes to the source we own, we have a huge dependency on Qt 5.5.x and  5.6.0 which is linked against OpenSSL 1.0.

We don't directly interface with OpenSSL in our codebase but rely on Qt heavily for our Network and Web logic.
Is there a OpenSSL to WolfSSL bridge library that could be used as drop in replacements for OpenSSL?
Is WolfSSL known to work with Qt as an OpenSSL replacement?

Where could we look in order to further our investigation?



Re: Drop in replacement for OpenSSL to use with Qt 5.x


wolfSSL contains an OpenSSL compatibility layer.  This layer currently contains roughly the 400 most commonly used OpenSSL functions, which are then mapped down to wolfSSL's native API internally.  As OpenSSL contains over 4,000 functions, this layer is not complete and meant to act as a starting place.  This layer slowly grows as we do more ports into applications that had previously used OpenSSL.  Some recent examples of these have been OpenSSH, stunnel, and lighttpd.

You can enable the OpenSSL compatibility layer when compiling wolfSSL by using the "--enable-opensslextra" ./configure option, or by defining OPENSSL_EXTRA.  To compile an existing OpenSSL-based application against the wolfSSL compatibility layer, you will need to switch the <openssl/ssl.h> header to <wolfssl/openssl/ssl.h> and link against "-lwolfssl" instead of "-lssl -lcrypto".

We haven't tried compiling wolfSSL with Qt yet, so I don't know at the moment what (if any) gaps there would be between our compatibility layer and Qt's usage of the OpenSSL API.  You could try the compilation yourself, or we could explore porting wolfSSL into Qt on a consulting basis if desired.

Let us know what you think and we can go from there.  You can reach us directly at info (at) wolfssl (dot) com.

Best Regards,