-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeployapps.xhtml
More file actions
224 lines (218 loc) · 13.3 KB
/
Copy pathdeployapps.xhtml
File metadata and controls
224 lines (218 loc) · 13.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Deploying Your TaurusTLS Applications</title>
<meta name="description" content="This page provides information about deploying your TaurusTLS-based applications with OpenSSL" />
<meta name="apple-mobile-web-app-title" content="TaurusTLS" />
<meta property="fb:app_id" content="1074308038263684" />
<meta property="og:title" content="Deploying Your TaurusTLS Apps" />
<meta property="og:url" content="https://taurustls.org/" />
<meta property="og:description" content="This page provides information about deploying your TaurusTLS-based applications with OpenSSL" />
<meta property="og:image" content="https://taurustls.org/gfx/TaurusTLS.png" />
<link rel="icon" type="image/png" href="/gfx/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/gfx/favicon.svg" />
<link rel="shortcut icon" href="/gfx/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/gfx/apple-touch-icon.png" />
<link rel="manifest" href="/gfx/site.webmanifest" />
<link rel="canonical" href="https://taurustls.org/index.xhtml" />
<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
</head>
<body>
<header>
<a class="skip" href="#main">Skip to main content</a>
<nav class="navbar" title="Main Menu">
<ul class="nav-links">
<li><img loading="lazy" class="logo" src="gfx/TaurusTLS.png" height="77" width="77" alt="TaurusTLS" /></li>
<li>
<a href="index.xhtml">About</a>
</li>
<li>
<a href="download.xhtml">Download TaurusTLS</a>
</li>
<li><span>Deployment</span></li>
<li>
<a href="donate.xhtml">Donate</a>
</li>
<li>
<a href="blog.xhtml">Blog</a>
</li>
<li>
<a href="contactus.xhtml">Contact Us</a>
</li>
<li>
<a href="links.xhtml">Links</a>
</li>
</ul>
<div class="hamburger">
<span></span> <span></span> <span></span>
</div>
</nav>
</header>
<main id="main">
<h1>Deploying Your TaurusTLS Applications</h1>
<p>TaurusTLS relies on OpenSSL 3.x or 4.x. Depending on the target platform, OpenSSL is either linked dynamically (requiring DLLs) or statically (compiled into your executable).</p>
<p>You can download the correct binaries for all platforms here: <strong><a href="https://github.com/TaurusTLS-Developers/OpenSSL-Distribution/releases">OpenSSL-Distribution Releases</a></strong></p>
<h2>Dynamic Linking</h2>
<h3>Linux</h3>
<p><code>TaurusTLS</code> uses <strong>dynamic linking</strong> for the <code>Linux64</code> platform. On Linux, OpenSSL is usually installed by default on the OS. We recommend explicitly documenting this dependency for your end-users. If you choose to deploy a specific version, you can download redistributable Linux package from the <strong><a href="https://github.com/TaurusTLS-Developers/OpenSSL-Distribution/releases">OpenSSL-Distribution Releases</a></strong> and redistribute it with your application(s).</p>
<h3>Windows</h3>
<p>On Windows, TaurusTLS uses <strong>Dynamic Linking</strong>. You <strong>must</strong> redistribute the OpenSSL shared libraries (<code>.dll</code>) and the License file alongside your application executable.</p>
<p>You can use one of our automated installers.</p>
<h4 id="InnoSetup_Installer"><a href="https://jrsoftware.org/isinfo.php">InnoSetup</a> Multi-Architecture Installer (<code>.exe</code>)</h4>
<p>File pattern: <code>openssl-<version>-Windows-installer.exe</code></p>
<p>A single, unified setup executable that contains native binaries for x64, x86, and ARM64X:</p>
<ul>
<li>
<strong>Intelligent CPU Detection</strong>: Automatically detects your processor architecture and installs the matching native binaries:
<ul>
<li><strong>64-bit Intel/AMD (x64)</strong>: Installs native 64-bit OpenSSL runtime.</li>
<li><strong>64-bit ARM64 (Surface / Snapdragon)</strong>: Installs native ARM64X OpenSSL runtime.</li>
<li><strong>32-bit (x86)</strong>: Installs native 32-bit OpenSSL runtime.</li>
</ul>
</li>
<li><strong>32-bit Compatibility Option</strong>: On 64-bit systems, you can check <code>[x] 32-bit (x86) Compatibility Runtime</code> to install 32-bit libraries alongside 64-bit libraries for legacy application compatibility (e.g., 32-bit Delphi/C++ applications).</li>
<li>
<strong>Installation Modes & Standard Directories</strong>:
<ul>
<li>Per-Machine (Admin / All Users)
<ul>
<li>64-bit: <code>C:\Program Files\TaurusTLS Developers\OpenSSL-<version>\</code></li>
<li>32-bit: <code>C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<version>\</code></li>
</ul>
</li>
<li>Per-User (Current User / Non-Admin)
<ul>
<li>64-bit: <code>%LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<version>\x64\</code></li>
<li>32-bit: <code>%LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<version>\x86\</code></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><strong>OpenSSL Command Prompt</strong>: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.</li>
<li>
<strong>Silent / Unattended Installation</strong>:
<pre>:: Silent Per-Machine Install (All Users, Default)
openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
:: Silent Per-User Install (Current User Only)
openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART</pre>
</li>
</ul>
<h4 id="MSI_Installer">MSI Installer (Windows Installer)</h4>
<p>Architecture-specific Windows Installer (<code>.msi</code>) packages for standard system-wide and enterprise software deployment:</p>
<ul>
<li><code>openssl-<version>-Windows-x64.msi</code></li>
<li><code>openssl-<version>-Windows-x86.msi</code></li>
<li><code>openssl-<version>-Windows-arm64.msi</code></li>
</ul>
<h5>Key Features</h5>
<ul>
<li><strong>Administrative Installation:</strong> Deploys binaries to standard system program directories versioned by Major.Minor (allowing different major releases to coexist while patch releases upgrade in-place):
<ul>
<li>64-bit / ARM64: <code>C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\</code></li>
<li>32-bit (x86): <code>C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\</code></li>
</ul>
</li>
<li><strong>32-bit Compatibility Feature (on x64):</strong> On 64-bit systems, you can select the optional <code>32-bit (x86) Compatibility Runtime</code> feature to install 32-bit libraries into <code>Program Files (x86)</code> for legacy 32-bit applications (e.g. 32-bit Delphi/C++ applications).</li>
<li><strong>Configurable PATH:</strong> Adding OpenSSL to the system <code>PATH</code> is provided as an optional sub-feature in the setup tree.</li>
<li><strong>Start Menu Command Prompt:</strong> Creates a Start Menu shortcut that launches Command Prompt directly in the installation directory with <code>PATH</code> pre-configured for the active architecture.</li>
</ul>
<h5>Silent & Automated Installation:</h5>
<p>To deploy silently via command line, scripts, or management tools (run as Administrator):</p>
<pre><code>msiexec /i openssl-<version>-Windows-<arch>.msi /qn /norestart</code></pre>
<p>To perform a silent install with full verbose logging enabled:</p>
<pre><code>msiexec /i openssl-<version>-Windows-<arch>.msi /qn /norestart /l*v "openssl_install.log"</code></pre>
<h4 id="MSIX_Framework_Package">MSIX Framework Packages (.msix)</h4>
<p>File patterns:</p>
<ul>
<li><code>openssl-<version>-Windows-x64.msix</code></li>
<li><code>openssl-<version>-Windows-x86.msix</code></li>
<li><code>openssl-<version>-Windows-arm64.msix</code></li>
</ul>
<p>MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:</p>
<ul>
<li>Isolated Deployment: Installs directly to <code>C:\Program Files\WindowsApps\</code> with complete architecture isolation.</li>
<li>MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
<pre><Dependencies>
<PackageDependency Name="TaurusTLS.OpenSSL" MinVersion="3.4.0.0" Publisher="CN=J. Peter Mugaas, O=J. Peter Mugaas, L=Lewisburg, S=wv, C=US" />
</Dependencies></pre>
</li>
</ul>
<h4>Manually Installing OpenSSL or Directly in You Own Installer</h4>
<ul>
<li><strong><a href="https://github.com/TaurusTLS-Developers/OpenSSL-Distribution/releases">Download the OpenSSL Distribution</a>:</strong> Look for the standard packages (e.g., <code>openssl-3.6.1-Windows-x86.zip</code>, <code>openssl-3.6.1-Windows-x64.zip</code>, <code>openssl-3.6.1-Windows-arm64.zip</code>).</li>
<li><strong>Redistribution:</strong> You must ship the following files with your application:</li>
</ul>
<table class="outlinedtable" tabindex="0">
<caption>
Platforms and files you need to deploy.
</caption>
<tr>
<th scope="col">Platform</th>
<th scope="col">OpenSSL 3.x Required Files</th>
<th scope="col">OpenSSL 4.x Required Files</th>
</tr>
<tr>
<th scope="row">Windows 32-bit</th>
<td><code>libcrypto-3.dll</code>, <code>libssl-3.dll</code>, <code>LICENSE.txt</code></td>
<td><code>libcrypto-4.dll</code>, <code>libssl-4.dll</code>, <code>LICENSE.txt</code></td>
</tr>
<tr>
<th scope="row">Windows 64-bit</th>
<td><code>libcrypto-3-x64.dll</code>, <code>libssl-3-x64.dll</code>, <code>LICENSE.txt</code></td>
<td><code>libcrypto-4-x64.dll</code>, <code>libssl-4-x64.dll</code>, <code>LICENSE.txt</code></td>
</tr>
<tr>
<th scope="row">Windows ARM64X</th>
<td><code>libcrypto-3-arm64.dll</code>, <code>libssl-3-arm64.dll</code>, <code>LICENSE.txt</code></td>
<td><code>libcrypto-4-arm64.dll</code>, <code>libssl-4-arm64.dll</code>, <code>LICENSE.txt</code></td>
</tr>
</table>
<p>If you are using the NTLM (NT Lan Manager) Protocol or legacy algorithms, you need to deploy the <code>providers</code> directory.</p>
<p><strong>Note:</strong> We strongly recommend also redistributing the <code>openssl.exe</code> included in the package, as users may need it for certificate management tasks like:</p>
<ul>
<li>Generate keys</li>
<li>Create Certificate Signing Requests</li>
<li>Create self-signed Certificates</li>
<li>Examine certificates</li>
<li>convert Certificate</li>
<li>etc</li>
</ul>
<p>There's a reference book called the <strong><a href="https://www.feistyduck.com/books/openssl-cookbook/">OpenSSL Cookbook</a></strong>.</p>
<h2>Static Linking (Android, iOS, macOS)</h2>
<p>On Mobile and macOS platforms, TaurusTLS uses <strong>Static Linking</strong>. The OpenSSL code is compiled directly into your application binary.</p>
<ul>
<li><strong><a href="https://github.com/TaurusTLS-Developers/OpenSSL-Distribution/releases">Download the OpenSSL Distribution</a>:</strong> Look for the standard packages (e.g., <code>openssl-3.6.1-Android-arm64.zip</code>, <code>openssl-3.6.1-iOS-arm64.zip</code>, <code>openssl-3.6.1-macOS-arm64.zip</code>).</li>
<li><strong>Development:</strong> You need the static library files (<code>.a</code>) contained in the <code>lib\static</code> folder of these archives to compile your project.</li>
<li>
<strong>Redistribution:</strong> You do <strong>not</strong> need to ship any separate OpenSSL files (<code>.dylib</code>, <code>.so</code>, or <code>.a</code>). You only need to distribute:
<ol>
<li>Your Application package</li>
<li>The <code>LICENSE.txt</code> file (to comply with the OpenSSL license).</li>
</ol>
</li>
</ul>
</main>
<footer>
<div class="social-media-links">
<ul>
<li>
<a href="https://github.com/TaurusTLS-Developers" rel="noopener noreferrer"><img src="gfx/github.svg" alt="Visit us on GitHub" class="social-icon" height="16" width="16" /></a>
</li>
<li>
<a href="https://www.facebook.com/people/Taurustls/61582588996953/" rel="noopener noreferrer"><img src="gfx/facebook.svg" alt="Visit Us on Facebook" class="social-icon" height="16" width="16" /></a>
</li>
<li>
<a href="https://www.linkedin.com/company/109619101" rel="noopener noreferrer"><img src="gfx/linkedin.svg" alt="Visit Us on LinkedIn" class="social-icon" height="16" width="16" /></a>
</li>
</ul>
</div>
<p class="copyright">Copyright © 2026 TaurusTLS Developers. All rights reserved</p>
</footer>
<script type="text/javascript" src="js/hamburger.js"></script>
</body>
</html>