<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks for that Viktor - I'll see if the <span style="color:rgb(32, 31, 30);font-family:"Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, system-ui, Roboto, "Helvetica Neue", sans-serif;font-size:14.6667px;background-color:rgb(255, 255, 255);display:inline !important">shlib_variant <span style="color:rgb(0, 0, 0);font-family:Calibri, Arial, Helvetica, sans-serif;font-size:16px;background-color:rgb(255, 255, 255);display:inline !important">is
 an option.</span></span></div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> openssl-users <openssl-users-bounces@openssl.org> on behalf of Viktor Dukhovni <openssl-users@dukhovni.org><br>
<b>Sent:</b> Monday, August 16, 2021 11:29 AM<br>
<b>To:</b> openssl-users@openssl.org <openssl-users@openssl.org><br>
<b>Subject:</b> Re: One iOS App - 2 OpenSSL libraries.</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">WARNING: This message originated outside of Ford Motor Company. Use caution when opening attachments, clicking links, or responding.<br>
<br>
<br>
On Mon, Aug 16, 2021 at 12:57:54PM +0000, Goetzke, Arnold (A.P.) wrote:<br>
<br>
> We have a large application, and two vendors are using the OpenSSL<br>
> library in their project.  However, only one of the projects encrypts<br>
> data successfully when joined in our application<br>
><br>
> Is this a known limitation?<br>
<br>
On Linux and BSD systems, when recent versions of OpenSSL (e.g. 1.1.1)<br>
are built and used as dynamically linked libraries, the symbols in the<br>
libraries are "versioned".  Provided that the two library builds use<br>
distinct non-overlapping symbol versions they can operate independently<br>
side by side.<br>
<br>
The OpenSSL build configuration templates have "shlib_variant" directive<br>
that can be used to build OpenSSL with a customized format of the symbol<br>
versions.<br>
<br>
On platforms where symbol versions are not employed, or are employed,<br>
but overlap between two distinct OpenSSL versions, having two versions<br>
of OpenSSL in the same address space can and will often lead to<br>
unpredictable results.<br>
<br>
Vendors should either stick to the platform's default OpenSSL (if there<br>
is one), or else if shipping OpenSSL along with their product use<br>
"shlib_variant" to inject a vendor-specific tag into all symbol<br>
versions.<br>
<br>
If symbol versioning is not a feature of iOS, then the only option is<br>
using Apple's APIs for all cryptography.<br>
<br>
--<br>
    Viktor.<br>
</div>
</span></font></div>
</div>
</body>
</html>