|Applies To||The SSL-module in Apache, mod_ssl, builds using OpenSSL|
RSA BSAFE SSL-C is included in another part of Apache application
Oracle ships libraries that include an older version of RSA BSAFE Crypto-C. This same conflict has occurred for BSAFE applications that are built using Oracle.
An application that attempts to link both RSA BSAFE libraries and OpenSSL may run into these problems
|Issue||Application failures due to symbol collisions in situations where RSA BSAFE libraries (Crypto-C, Cert-C, or SSL-C) are used at the same time other shared libraries are loaded|
A developer is having conflicts compiling their application with an RSA BSAFE library because they are linking with lib files that contain conflicting symbols. These symbols could come from SSL-C or Crypto-C symbols that are already compiled into those libraries. They could also occur if the libraries contain OpenSSL.
|Cause||The pre-existing libraries built using OpenSSL, Crypto-C, or SSL-C contain names that are colliding with the linked BSAFE names and are causing many problems|
To correct this issue, hide the BSAFE symbols in your application. The best way to do this is to move all of the BSAFE code into a shared library and not expose any of the BSAFE symbols.
Alternatively, you could put the OpenSSL or Oracle libraries in a shared library to hide the conflicting symbols there.
On HP-UX, you can use +e and -h to export and hide symbols. See
|Notes||OpenSSL and the BSAFE libraries have common roots in the SSLeay library. This is a common source for conflicts between BSAFE and OpenSSL symbols.|
|Legacy Article ID||a26712|