5.9 Building the Secure Sockets Package as a Shared Library
This section is intended for developers who cannot build or acquire a shared library (DLL) version of the underlying cryptographic library and want to use the Secure Sockets package as a shared (DLL) library. Currently, this affects HPUX users of OpenSSL.
You can build a shared library (DLL) version of the Secure Sockets package even if a DLL of the underlying cryptographic library is not available. However, the Secure Sockets DLL will be linked to the static version of the underlying cryptographic library.
In this situation, you must not attempt to use the underlying cryptographic library functions directly.
Both cryptographic libraries use static data. When linking the shared Secure Sockets library to the static cryptography library, the static data used in the static library is pulled into the shared Secure Sockets library. If you also link to the underlying cryptographic static library and use a function that the Secure Sockets package does not wrap, the function you call might reference the copy of the static data in the static library, instead of the copy in the shared Secure Sockets library. This results in problems that are subtle and extremely difficult to debug.
We strongly recommend that you do not attempt to use the underlying cryptographic library functions directly when using a shared Secure Sockets library that was linked to a static version of the underlying cryptographic library.