<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openssl.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tjh</id>
	<title>OpenSSLWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openssl.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tjh"/>
	<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php/Special:Contributions/Tjh"/>
	<updated>2026-05-12T20:33:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=FIPS_module_3.0&amp;diff=2727</id>
		<title>FIPS module 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=FIPS_module_3.0&amp;diff=2727"/>
		<updated>2018-10-01T02:12:02Z</updated>

		<summary type="html">&lt;p&gt;Tjh: remove historical information that is out of date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 3.0 FIPS module will be conceptually different to the preceeding line of ''OpenSSL FIPS Object Module'' cryptographic modules. &lt;br /&gt;
An extensive reworking of the internals is planned, to address some issues stemming from the historical origins and subsequent ad-hoc evolution of previous modules.&lt;br /&gt;
&lt;br /&gt;
Refer to the [https://www.openssl.org/blog/blog/2018/09/25/fips/ OpenSSL FIPS 140-2 blog].&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
These notes are subject to change going forward.&lt;br /&gt;
&lt;br /&gt;
What we won't do:&lt;br /&gt;
&lt;br /&gt;
1. Any &amp;quot;light&amp;quot; or other versions of the FIPS module (i.e fewer algorithm implementations). &lt;br /&gt;
&lt;br /&gt;
2. Matching set of platforms. The initial validation will only include a very minimal platform set. &lt;br /&gt;
&lt;br /&gt;
3. Any substantial additions or changes to the module once the initial development is substantially complete.&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=FIPS_module_2.0&amp;diff=2719</id>
		<title>FIPS module 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=FIPS_module_2.0&amp;diff=2719"/>
		<updated>2018-09-04T05:53:04Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ''OpenSSL FIPS Object Module 2.0'' was first validated with FIPS 140-2 certificate [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#1747 #1747] in mid-2012.  This 2.0 FIPS module is compatible with OpenSSL releases 1.0.1 and 1.0.2, and not with any other releases.&lt;br /&gt;
&lt;br /&gt;
There are two &amp;quot;clone&amp;quot; validations (known as &amp;quot;Alternative Scenario 1A&amp;quot; validations, also referred to as &amp;quot;re-brand&amp;quot; validations by some test labs) were obtained for the same module. The &amp;quot;RE&amp;quot; validation, [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2473 #2473], was intended to be identical to #1747 while allowing the addition of new platforms.  The &amp;quot;SE&amp;quot; validation, [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2398 #2398], was intended for the addition of platforms requiring source code mods and thus new revisions to the module tarball. The #1747 and #2473 validations will forever remain at revision 2.0.10, while new revisions will be added to #2398 (which is at 2.0.13 as of September 2016).&lt;br /&gt;
&lt;br /&gt;
Note that although the paperwork for the two clone validations #2398 and #2473 was submitted at the same time, and the two sets of paperwork were precisely identical other than the respective references to &amp;quot;RE&amp;quot; versus &amp;quot;SE&amp;quot; in the module names, they were approved at different times (July and November) with different editorial modifications required by the CMVP for the Security Policy documents. Such inconsistencies are common with FIPS 140-2 validations; the outcome from one validation effort is not necessarily predictive of what will happen for subsequent similar (or even identical) attempts.&lt;br /&gt;
&lt;br /&gt;
In addition to the three validations of the ''OpenSSL FIPS Object Module 2.0'' obtained directly by OpenSSL, some third party vendors have obtained additional &amp;quot;re-brand&amp;quot; validations of the same cryptographic module:&lt;br /&gt;
&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2676 #2676], Cohesity OpenSSL FIPS Object Module&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2631 #2631], Intel OpenSSL FIPS Object Module&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2575 #2575], Cellcrypt Secure Core 3 FIPS 140-2 Module&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2454 #2454], LogRhythm FIPS Object Module Version 6.3.4&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2454 #2422], Nimble Storage OpenSSL FIPS Object Module&lt;br /&gt;
&lt;br /&gt;
Note that while these clone validations have re-branded proprietary module names, they reference the original ''OpenSSL FIPS Object Module 2.0'' tarballs which are available under the open source OpenSSL license, and hence these validations can be used and cited by anyone.&lt;br /&gt;
&lt;br /&gt;
A list of formally tested platforms (&amp;quot;Operational Environments&amp;quot;) is associated with each validation. Collectively there are over two hundred unique platforms listed across all the ''OpenSSL FIPS Object Module 2.0'' validations:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Unique platforms across all ''OpenSSL FIPS Object Module 2.0'' validations as of 2016-09&lt;br /&gt;
|-&lt;br /&gt;
|AcanOS 1.0 running on Feroceon 88FR131 (ARMv5) (gcc Compiler Version 4.5.3)&lt;br /&gt;
|-&lt;br /&gt;
|AcanOS 1.0 running on Intel Core i7-3612QE (x86) with AES-NI (gcc Compiler Version 4.6.2)&lt;br /&gt;
|-&lt;br /&gt;
|AcanOS 1.0 running on Intel Core i7-3612QE (x86) without AES-NI (gcc Compiler Version 4.6.2)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 32-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 32-bit running on IBM POWER 7 (PPC) with optimizations (IBM XL C/C++ for AIX Compiler Version V10.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 64-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 64-bit running on IBM POWER 7 (PPC) with optimizations (IBM XL C/C++ for AIX Compiler Version V10.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 7.1 32-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 7.1 64-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 running on OMAP 3530 (ARMv7) with NEON (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 running on Qualcomm QSD8250 (ARMv7) with NEON (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 running on Qualcomm QSD8250 (ARMv7) without NEON (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 3.0 (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 3.0 running on NVIDIA Tegra 250 T20 (ARMv7) (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 (gcc Compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 running on NVIDIA Tegra 250 T20 (ARMv7) (gcc Compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 running on Qualcomm Snapdragon APQ8060 (ARMv7) with NEON (gcc compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 running on TI OMAP 3 (ARMv7) with NEON (gcc Compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.1 running on TI DM3730 (ARMv7) (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.1 running on TI DM3730 (ARMv7) with NEON (gcc Complier Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.1 running on TI DM3730 (ARMv7) without NEON (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) with Neon (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) with NEON (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) without NEON (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 32-bit running on Qualcomm APQ8084 (ARMv7) with NEON (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 32-bit running on Qualcomm APQ8084 (ARMv7) without NEON (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 64-bit running on SAMSUNG Exynos7420 (ARMv8) with NEON and Crypto Extensions (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 64-bit running on SAMSUNG Exynos7420 (ARMv8) without NEON and Crypto Extensions (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 5.0 running on ARM Cortex A8 (ARMv7) with NEON (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 5.1 (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 5.1 running on ARMv7 (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 6.1 running on Apple A6X SoC (ARMv7s) (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 7.1 64-bit running on Apple A7 (ARMv8) with NEON (clang Compiler Version 5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 7.1 64- bit running on Apple A7 (ARMv8) without NEON (clang Compiler Version 5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple OS X 10.7 running on Intel Core i7-3615QM (Apple LLVM version 4.2)&lt;br /&gt;
|-&lt;br /&gt;
|ArbOS 5.3 running on Xeon E5645 (x86) with AES-NI (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|ArbOS 5.3 running on Xeon E5645 (x86) without AES-NI (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (32 bit) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (32 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (64 bit) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (64 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CentOS 5.6 64-bit running on Intel Xeon E5-2620v3 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|CentOS 5.6 64-bit running on Intel Xeon E5-2690v3 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|DataGravity Discovery Series OS V2.0 running on Intel Xeon E5-2420 (x86) with AES-NI (gcc Compiler Version 4.7.2)&lt;br /&gt;
|-&lt;br /&gt;
|DataGravity Discovery Series OS V2.0 running on Intel Xeon E5-2420 (x86) without AES-NI (gcc Compiler Version 4.7.2)&lt;br /&gt;
|-&lt;br /&gt;
|DSP Media Framework 1.4 running on TI C64x+ (TMS320C6x C/C++ Compiler v6.0.13)&lt;br /&gt;
|-&lt;br /&gt;
|DSP Media Framework 1.4 (TMS320C6x C/C++ Compiler v6.0.13)&lt;br /&gt;
|-&lt;br /&gt;
|eCos 3 running on Freescale i.MX27 926ejs (ARMv5TEJ) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Fedora 14 running on Intel Core i5 with AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.0 running on Xeon E5- 2430L (x86) with AES-NI (clang Compiler Version 3.3)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.0 running on Xeon E5-2430L (x86) with AES-NI (clang Compiler Version 3.3)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.0 running on Xeon E5-2430L (x86) without AES-NI (clang Compiler Version 3.3)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.2 running on Intel Xeon E5-2430L (x86) with AES-NI (clang Compiler Version 3.4.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.2 running on Intel Xeon E5-2430L (x86) without AES-NI (clang Compiler Version 3.4.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 8.4 running on Intel Xeon E5440 (x86) 32-bit (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 8.4 running on Intel Xeon E5440 (x86) without AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 8.4 running on Intel Xeon E5440 (x86) without AESNI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.1 running on Xeon E5-2430L (x86) with AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.1 running on Xeon E5-2430L (x86) without AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.1 running on Xeon E5-2430L (x86) without AESNI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.2 running on Xeon E5-2430L (x86) with AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.2 running on Xeon E5-2430L (x86) without AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (32 bit) (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (32 bit) running on Intel Itanium 2 (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (64 bit) (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (64 bit) running on Intel Itanium 2 (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 6.0 running on Apple A5 / ARM Cortex-A9 (ARMv7) with NEON (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 6.0 running on Apple A5 / ARM Cortex-A9 (ARMv7) without NEON (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32­bit running on Apple A7 (ARMv8) with NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32-bit running on Apple A7 (ARMv8) with NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32­bit running on Apple A7 (ARMv8) without NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32-bit running on Apple A7 (ARMv8) without NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64­bit running on Apple A7 (ARMv8) with NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64-bit running on Apple A7 (ARMv8) with NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64­bit running on Apple A7 (ARMv8) without NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64-bit running on Apple A7 (ARMv8) without NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64-bit running on Apple A7 (ARMv8) without NEON and Crypto Extensions (clang Compilerv Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.27 (gcc Compiler Version 4.2.4)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.27 running on PowerPC e300c3 (gcc Compiler Version 4.2.4)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.32 (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.32 running on TI AM3703CBP (ARMv7) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.33 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.33 running on PowerPC32 e300 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on a Nimble Storage CS300 with AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on a Nimble Storage CS500 with AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on a Nimble Storage CS700 with AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on Broadcom BCM11107 (ARMv6) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on Freescale e500v2 (PPC) (gcc Compiler Version 4.4.1)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on Freescale PowerPCe500 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on TI TMS320DM6446 (ARMv4) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 32-bit running on Intel Atom E3845 (x86) with AES-NI (gcc Compiler Version 4.8.1)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 32-bit running on Intel Atom E3845 (x86) without AES-NI (gcc Compiler Version 4.8.1)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 on VMware ESXi 6.00 running on Intel Xeon with AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 on Vmware ESXi 6.00 running on Intel Xeon without AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 running on Intel Xeon with AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 running on Intel Xeon without AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 64-bit under Citrix XenServer running on Intel Xeon E5-2430L (x86) without AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Citrix XenServer 6.2 running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Citrix XenServer 6.2 running on Intel Xeon E5-2430L without AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Microsoft Windows 2012 Hyper-V running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Microsoft Windows 2012 Hyper-V running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)2&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Microsoft Windows 2012 Hyper-V running on Intel Xeon E5-2430L without AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Vmware ESXi 5.1 running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Vmware ESXi 5.1 running on Intel Xeon E5-2430L without AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.8 running on ARM926 (ARMv5TEJ) (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux ORACLESP 2.6 running on ASPEED AST-Series (ARMv5) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|Linux ORACLESP 2.6 running on Emulex PILOT3 (ARMv5) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (32 bit) (Microsoft 32 bit C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (32 bit) running on Intel Celeron (Microsoft 32 bit C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (64 bit) (Microsoft C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (64 bit) running on Intel Pentium 4 (Microsoft C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 running on Intel Core i5- 2430M (64-bit) with AES-NI (Microsoft ® C/C++ Optimizing Compiler Version 16.00 for x64)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 running on Intel Core i5-2430M (64-bit) with AES-NI (Microsoft « C/C++ Optimizing Compiler Version 16.00 for x64)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 5.0 (Microsoft C/C++ Optimizing Compiler Version 13.10 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 5.0 running on ARMv7 (Microsoft C/C++ Optimizing Compiler Version 13.10 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 6.0 (Microsoft C/C++ Optimizing Compiler Version 15.00 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 6.0 running on ARMv5TEJ (Microsoft C/C++ Optimizing Compiler Version 15.00 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows Server 2008 R2 running on an Intel Xeon E5-2420 (x64) (Microsoft 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86)&lt;br /&gt;
|-&lt;br /&gt;
|NetBSD 5.1 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|NetBSD 5.1 running on Intel Xeon 5500 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|NetBSD 5.1 running on PowerPCe500 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|OpenWRT 2.6 running on MIPS 24Kc (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 5 (64 bit) (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 5 (64 bit) running on Intel Xeon 5675 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 5 running on Intel Xeon 5675 with AES-NI (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 6 (gcc Compiler Version 4.4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 6 running on Intel Xeon 5675 with AES-NI (gcc Compiler Version 4.4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 6 running on Intel Xeon 5675 without AES-NI (gcc Compiler Version 4.4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (32 bit) (gcc Compiler Version 3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (32 bit) running on SPARC-T3 (SPARCv9) (gcc Compiler Version3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (64 bit) (gcc Compiler Version 3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (64 bit) running on SPARC-T3 (SPARCv9) (gcc Compiler Version 3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11(32 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (32 bit) running on Intel Xeon 5675 (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (32 bit) running on SPARC-T3 (SPARCv9) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (32 bit) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) running on Intel Xeon 5675 (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) running on SPARC-T3 (SPARCv9) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AES-NI (32 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AESNI (32 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AES-NI (64 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AESNI (64 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|PexOS 1.0 under vSphere ESXi 5.1 running on Intel Xeon E52430L with AES-NI (gcc Compiler Version 4.6.3)3&lt;br /&gt;
|-&lt;br /&gt;
|PexOS 1.0 under vSphere ESXi 5.1 running on Intel Xeon E52430L without AES-NI (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|QNX 6.4 running on Freescale i.MX25 (ARMv4) (gcc Compiler Version 4.3.3)&lt;br /&gt;
|-&lt;br /&gt;
|QNX 6.5 running on Freescale i.MX25 (ARMv4) (gcc Compiler Version 4.3.3)&lt;br /&gt;
|-&lt;br /&gt;
|TS-Linux 2.4 running on Arm920Tid (ARMv4) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|TS-Linux 2.4 running on Arm920Tid (ARMv4) (gcc Compiler Version 4.3.2)4&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (32 bit) (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (32 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (64 bit) (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (64 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 running on Intel Core i5 with AES-NI (32 bit) (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 running on Intel Pentium T4200 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 12.04 running on Intel Xeon E5-2430L (x86) with AES-NI (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 12.04 running on Intel Xeon E5-2430L (x86) without AES-NI (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 13.04 running on AM335x Cortex-A8 (ARMv7) (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 13.04 running on AM335x Cortex-A8 (ARMv7) with NEON (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 13.04 running on AM335x Cortex-A8 (ARMv7) without NEON (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|uCLinux 0.9.29 (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|uCLinux 0.9.29 running on ARM 922T (ARMv4) (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 1.5 under Vmware ESXi 5.0 running on Intel Xeon E3-1220 (x86) with AES-NI (gcc Compiler Version 4.5.1)1&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 1.5 under Vmware ESXi 5.0 running on Intel Xeon E3-1220 (x86) without AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 2.1 under vSphere ESXi 5.5 running on Intel Xeon E3-1220 (x86) with AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 2.1 under vSphere ESXi 5.5 running on Intel Xeon E3-1220 (x86) with AESNI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 2.1 under vSphere ESXi 5.5 running on Intel Xeon E3-1220 (x86) without AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.7 running on Intel Core 2 Duo (x86) (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.8 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.8 running on TI TNETV1050 (MIPS) (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.9 running on Freescale P2020 (PPC) (gcc Compiler Version 4.3.3)&lt;br /&gt;
|-&lt;br /&gt;
|Windows Embedded Compact 7 running on Freescale i.MX53xA (ARMv7) with NEON (Microsoft C/C++ Optimizing Compiler Version 15.00.20720)&lt;br /&gt;
|-&lt;br /&gt;
|Windows Embedded Compact 7 running on Freescale i.MX53xD (ARMv7) with NEON (Microsoft C/C++ Optimizing Compiler Version 15.00.20720)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=FIPS_module_3.0&amp;diff=2644</id>
		<title>FIPS module 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=FIPS_module_3.0&amp;diff=2644"/>
		<updated>2018-03-14T09:31:15Z</updated>

		<summary type="html">&lt;p&gt;Tjh: Update the old plans to be something closer to what the current plans are for the next FIPS module&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 3.0 FIPS module will be conceptually similar to the preceeding line of ''OpenSSL FIPS Object Module'' cryptographic modules. An extensive reworking of the internals is planned, to address some issues stemming from the historical origins and subsequent ad hoc evolution of previous modules.&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
These notes are old and subject to change going forward.&lt;br /&gt;
&lt;br /&gt;
What we probably won't do:&lt;br /&gt;
&lt;br /&gt;
1. Any &amp;quot;light&amp;quot; or other versions of the FIPS module (i.e fewer algorithm implementations). &lt;br /&gt;
&lt;br /&gt;
2. Matching set of platforms. The initial validation will only include a minimal platform set. &lt;br /&gt;
&lt;br /&gt;
3. Any substantial additions or changes to the module once the initial development is substantially complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Draft Technical Objectives ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An initial rough draft of requirements and goals:&lt;br /&gt;
&lt;br /&gt;
1) Keep it minimal and fully usable as a stand alone crypto module.&lt;br /&gt;
&lt;br /&gt;
2) FIPS 186-4 KeyGen.&lt;br /&gt;
&lt;br /&gt;
3) SP 800-56A compliance (Self-tests per I.G. 9.6).&lt;br /&gt;
:: Diffie-Hellman full compliance with NIST SP 800-56A including CAVP algorithm testing.&lt;br /&gt;
:: Diffie-Hellman Known Answer Tests (KATs) that include shared secret KAT and KDF KAT.&lt;br /&gt;
&lt;br /&gt;
4) SP 800-56B vendor affirmation (I.G. D.4).&lt;br /&gt;
&lt;br /&gt;
5) SHA-3 and SHAKE.&lt;br /&gt;
&lt;br /&gt;
6) Automatic execution of power-on self-tests (I.G. 9.5/9.10).&lt;br /&gt;
&lt;br /&gt;
7) Consider any newly FIPS approved algorithms (e.g. new EC curves, Chacha/Poly)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Previous Stakeholder Requests ==&lt;br /&gt;
&lt;br /&gt;
Note: none of these are committed as yet.&lt;br /&gt;
&lt;br /&gt;
a.	RSA key wrapping as part of NIST SP 800-56B (also called KTS validation testing), if CAVS testing is available.&lt;br /&gt;
&lt;br /&gt;
b.	AES-GMAC compliance (I.G. A.5).&lt;br /&gt;
&lt;br /&gt;
c.	AES Key Wrap Compliance to NIST SP 800-38F.&lt;br /&gt;
&lt;br /&gt;
d.	PBKDF2 Suppport.&lt;br /&gt;
&lt;br /&gt;
e.      Format Preserving Encrypion Support (NIST SP 800-38G)&lt;br /&gt;
&lt;br /&gt;
f.	Addition of EC curve 25519&lt;br /&gt;
&lt;br /&gt;
g.      Improved entropy to meet NIST SP 800-90B.&lt;br /&gt;
&lt;br /&gt;
h.	Symmetric key wrap conformant to SP 800-38F&lt;br /&gt;
&lt;br /&gt;
i.	SP 800-135 KDFs&lt;br /&gt;
&lt;br /&gt;
j.	SP 800-108 KDFs&lt;br /&gt;
&lt;br /&gt;
k.	Addition of AES XPN&lt;br /&gt;
&lt;br /&gt;
l.	XTS-AES compliance to I.G. A.9&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=FIPS_module_2.0&amp;diff=2625</id>
		<title>FIPS module 2.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=FIPS_module_2.0&amp;diff=2625"/>
		<updated>2017-12-31T03:57:22Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ''OpenSSL FIPS Object Module 2.0'' was first validated with FIPS 140-2 certificate [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#1747 #1747] in mid-2013.  This 2.0 FIPS module is compatible with OpenSSL releases 1.0.1 and 1.0.2, and not with any other releases.&lt;br /&gt;
&lt;br /&gt;
There are two &amp;quot;clone&amp;quot; validations (known as &amp;quot;Alternative Scenario 1A&amp;quot; validations, also referred to as &amp;quot;re-brand&amp;quot; validations by some test labs) were obtained for the same module. The &amp;quot;RE&amp;quot; validation, [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2473 #2473], was intended to be identical to #1747 while allowing the addition of new platforms.  The &amp;quot;SE&amp;quot; validation, [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2398 #2398], was intended for the addition of platforms requiring source code mods and thus new revisions to the module tarball. The #1747 and #2473 validations will forever remain at revision 2.0.10, while new revisions will be added to #2398 (which is at 2.0.13 as of September 2016).&lt;br /&gt;
&lt;br /&gt;
Note that although the paperwork for the two clone validations #2398 and #2473 was submitted at the same time, and the two sets of paperwork were precisely identical other than the respective references to &amp;quot;RE&amp;quot; versus &amp;quot;SE&amp;quot; in the module names, they were approved at different times (July and November) with different editorial modifications required by the CMVP for the Security Policy documents. Such inconsistencies are common with FIPS 140-2 validations; the outcome from one validation effort is not necessarily predictive of what will happen for subsequent similar (or even identical) attempts.&lt;br /&gt;
&lt;br /&gt;
In addition to the three validations of the ''OpenSSL FIPS Object Module 2.0'' obtained directly by OpenSSL, some third party vendors have obtained additional &amp;quot;re-brand&amp;quot; validations of the same cryptographic module:&lt;br /&gt;
&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2676 #2676], Cohesity OpenSSL FIPS Object Module&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2631 #2631], Intel OpenSSL FIPS Object Module&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2575 #2575], Cellcrypt Secure Core 3 FIPS 140-2 Module&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2454 #2454], LogRhythm FIPS Object Module Version 6.3.4&lt;br /&gt;
:: [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2454 #2422], Nimble Storage OpenSSL FIPS Object Module&lt;br /&gt;
&lt;br /&gt;
Note that while these clone validations have re-branded proprietary module names, they reference the original ''OpenSSL FIPS Object Module 2.0'' tarballs which are available under the open source OpenSSL license, and hence these validations can be used and cited by anyone.&lt;br /&gt;
&lt;br /&gt;
A list of formally tested platforms (&amp;quot;Operational Environments&amp;quot;) is associated with each validation. Collectively there are over two hundred unique platforms listed across all the ''OpenSSL FIPS Object Module 2.0'' validations:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Unique platforms across all ''OpenSSL FIPS Object Module 2.0'' validations as of 2016-09&lt;br /&gt;
|-&lt;br /&gt;
|AcanOS 1.0 running on Feroceon 88FR131 (ARMv5) (gcc Compiler Version 4.5.3)&lt;br /&gt;
|-&lt;br /&gt;
|AcanOS 1.0 running on Intel Core i7-3612QE (x86) with AES-NI (gcc Compiler Version 4.6.2)&lt;br /&gt;
|-&lt;br /&gt;
|AcanOS 1.0 running on Intel Core i7-3612QE (x86) without AES-NI (gcc Compiler Version 4.6.2)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 32-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 32-bit running on IBM POWER 7 (PPC) with optimizations (IBM XL C/C++ for AIX Compiler Version V10.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 64-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 6.1 64-bit running on IBM POWER 7 (PPC) with optimizations (IBM XL C/C++ for AIX Compiler Version V10.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 7.1 32-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|AIX 7.1 64-bit running on IBM POWER 7 (PPC) (IBM XL C/C++ for AIX Compiler Version V13.1)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 running on OMAP 3530 (ARMv7) with NEON (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 running on Qualcomm QSD8250 (ARMv7) with NEON (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 2.2 running on Qualcomm QSD8250 (ARMv7) without NEON (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 3.0 (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 3.0 running on NVIDIA Tegra 250 T20 (ARMv7) (gcc Compiler Version 4.4.0)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 (gcc Compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 running on NVIDIA Tegra 250 T20 (ARMv7) (gcc Compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 running on Qualcomm Snapdragon APQ8060 (ARMv7) with NEON (gcc compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.0 running on TI OMAP 3 (ARMv7) with NEON (gcc Compiler Version 4.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.1 running on TI DM3730 (ARMv7) (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.1 running on TI DM3730 (ARMv7) with NEON (gcc Complier Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.1 running on TI DM3730 (ARMv7) without NEON (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) with Neon (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) with NEON (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 4.2 running on Nvidia Tegra 3 (ARMv7) without NEON (gcc Compiler Version 4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 32-bit running on Qualcomm APQ8084 (ARMv7) with NEON (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 32-bit running on Qualcomm APQ8084 (ARMv7) without NEON (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 64-bit running on SAMSUNG Exynos7420 (ARMv8) with NEON and Crypto Extensions (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Android 5.0 64-bit running on SAMSUNG Exynos7420 (ARMv8) without NEON and Crypto Extensions (gcc Compiler Version 4.9)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 5.0 running on ARM Cortex A8 (ARMv7) with NEON (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 5.1 (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 5.1 running on ARMv7 (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 6.1 running on Apple A6X SoC (ARMv7s) (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 7.1 64-bit running on Apple A7 (ARMv8) with NEON (clang Compiler Version 5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple iOS 7.1 64- bit running on Apple A7 (ARMv8) without NEON (clang Compiler Version 5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Apple OS X 10.7 running on Intel Core i7-3615QM (Apple LLVM version 4.2)&lt;br /&gt;
|-&lt;br /&gt;
|ArbOS 5.3 running on Xeon E5645 (x86) with AES-NI (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|ArbOS 5.3 running on Xeon E5645 (x86) without AES-NI (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (32 bit) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (32 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (64 bit) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CascadeOS 6.1 (64 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|CentOS 5.6 64-bit running on Intel Xeon E5-2620v3 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|CentOS 5.6 64-bit running on Intel Xeon E5-2690v3 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|DataGravity Discovery Series OS V2.0 running on Intel Xeon E5-2420 (x86) with AES-NI (gcc Compiler Version 4.7.2)&lt;br /&gt;
|-&lt;br /&gt;
|DataGravity Discovery Series OS V2.0 running on Intel Xeon E5-2420 (x86) without AES-NI (gcc Compiler Version 4.7.2)&lt;br /&gt;
|-&lt;br /&gt;
|DSP Media Framework 1.4 running on TI C64x+ (TMS320C6x C/C++ Compiler v6.0.13)&lt;br /&gt;
|-&lt;br /&gt;
|DSP Media Framework 1.4 (TMS320C6x C/C++ Compiler v6.0.13)&lt;br /&gt;
|-&lt;br /&gt;
|eCos 3 running on Freescale i.MX27 926ejs (ARMv5TEJ) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Fedora 14 running on Intel Core i5 with AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.0 running on Xeon E5- 2430L (x86) with AES-NI (clang Compiler Version 3.3)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.0 running on Xeon E5-2430L (x86) with AES-NI (clang Compiler Version 3.3)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.0 running on Xeon E5-2430L (x86) without AES-NI (clang Compiler Version 3.3)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.2 running on Intel Xeon E5-2430L (x86) with AES-NI (clang Compiler Version 3.4.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 10.2 running on Intel Xeon E5-2430L (x86) without AES-NI (clang Compiler Version 3.4.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 8.4 running on Intel Xeon E5440 (x86) 32-bit (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 8.4 running on Intel Xeon E5440 (x86) without AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 8.4 running on Intel Xeon E5440 (x86) without AESNI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.1 running on Xeon E5-2430L (x86) with AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.1 running on Xeon E5-2430L (x86) without AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.1 running on Xeon E5-2430L (x86) without AESNI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.2 running on Xeon E5-2430L (x86) with AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD 9.2 running on Xeon E5-2430L (x86) without AES-NI (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (32 bit) (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (32 bit) running on Intel Itanium 2 (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (64 bit) (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|HP-UX 11i (64 bit) running on Intel Itanium 2 (HP C/aC++ B3910B)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 6.0 running on Apple A5 / ARM Cortex-A9 (ARMv7) with NEON (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 6.0 running on Apple A5 / ARM Cortex-A9 (ARMv7) without NEON (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32­bit running on Apple A7 (ARMv8) with NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32-bit running on Apple A7 (ARMv8) with NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32­bit running on Apple A7 (ARMv8) without NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 32-bit running on Apple A7 (ARMv8) without NEON (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64­bit running on Apple A7 (ARMv8) with NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64-bit running on Apple A7 (ARMv8) with NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64­bit running on Apple A7 (ARMv8) without NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64-bit running on Apple A7 (ARMv8) without NEON and Crypto Extensions (clang Compiler Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|iOS 8.1 64-bit running on Apple A7 (ARMv8) without NEON and Crypto Extensions (clang Compilerv Version 600.0.56)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.27 (gcc Compiler Version 4.2.4)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.27 running on PowerPC e300c3 (gcc Compiler Version 4.2.4)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.32 (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.32 running on TI AM3703CBP (ARMv7) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.33 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6.33 running on PowerPC32 e300 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on a Nimble Storage CS300 with AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on a Nimble Storage CS500 with AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on a Nimble Storage CS700 with AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on Broadcom BCM11107 (ARMv6) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on Freescale e500v2 (PPC) (gcc Compiler Version 4.4.1)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on Freescale PowerPCe500 (gcc Compiler Version 4.1.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 2.6 running on TI TMS320DM6446 (ARMv4) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 32-bit running on Intel Atom E3845 (x86) with AES-NI (gcc Compiler Version 4.8.1)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 32-bit running on Intel Atom E3845 (x86) without AES-NI (gcc Compiler Version 4.8.1)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 on VMware ESXi 6.00 running on Intel Xeon with AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 on Vmware ESXi 6.00 running on Intel Xeon without AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 running on Intel Xeon with AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.10 running on Intel Xeon without AES-NI (gcc Compiler Version 4.8.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 64-bit under Citrix XenServer running on Intel Xeon E5-2430L (x86) without AES-NI&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Citrix XenServer 6.2 running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Citrix XenServer 6.2 running on Intel Xeon E5-2430L without AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Microsoft Windows 2012 Hyper-V running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Microsoft Windows 2012 Hyper-V running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)2&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Microsoft Windows 2012 Hyper-V running on Intel Xeon E5-2430L without AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Vmware ESXi 5.1 running on Intel Xeon E5-2430L with AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.4 under Vmware ESXi 5.1 running on Intel Xeon E5-2430L without AES-NI (gcc Compiler Version 4.8.0)&lt;br /&gt;
|-&lt;br /&gt;
|Linux 3.8 running on ARM926 (ARMv5TEJ) (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|Linux ORACLESP 2.6 running on ASPEED AST-Series (ARMv5) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|Linux ORACLESP 2.6 running on Emulex PILOT3 (ARMv5) (gcc Compiler Version 4.4.5)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (32 bit) (Microsoft 32 bit C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (32 bit) running on Intel Celeron (Microsoft 32 bit C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (64 bit) (Microsoft C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 (64 bit) running on Intel Pentium 4 (Microsoft C/C++ Optimizing Compiler Version 16.00)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 running on Intel Core i5- 2430M (64-bit) with AES-NI (Microsoft ® C/C++ Optimizing Compiler Version 16.00 for x64)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows 7 running on Intel Core i5-2430M (64-bit) with AES-NI (Microsoft « C/C++ Optimizing Compiler Version 16.00 for x64)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 5.0 (Microsoft C/C++ Optimizing Compiler Version 13.10 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 5.0 running on ARMv7 (Microsoft C/C++ Optimizing Compiler Version 13.10 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 6.0 (Microsoft C/C++ Optimizing Compiler Version 15.00 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows CE 6.0 running on ARMv5TEJ (Microsoft C/C++ Optimizing Compiler Version 15.00 for ARM)&lt;br /&gt;
|-&lt;br /&gt;
|Microsoft Windows Server 2008 R2 running on an Intel Xeon E5-2420 (x64) (Microsoft 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86)&lt;br /&gt;
|-&lt;br /&gt;
|NetBSD 5.1 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|NetBSD 5.1 running on Intel Xeon 5500 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|NetBSD 5.1 running on PowerPCe500 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|OpenWRT 2.6 running on MIPS 24Kc (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 5 (64 bit) (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 5 (64 bit) running on Intel Xeon 5675 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 5 running on Intel Xeon 5675 with AES-NI (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 6 (gcc Compiler Version 4.4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 6 running on Intel Xeon 5675 with AES-NI (gcc Compiler Version 4.4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Linux 6 running on Intel Xeon 5675 without AES-NI (gcc Compiler Version 4.4.6)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (32 bit) (gcc Compiler Version 3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (32 bit) running on SPARC-T3 (SPARCv9) (gcc Compiler Version3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (64 bit) (gcc Compiler Version 3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 10 (64 bit) running on SPARC-T3 (SPARCv9) (gcc Compiler Version 3.4.3)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11(32 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (32 bit) running on Intel Xeon 5675 (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (32 bit) running on SPARC-T3 (SPARCv9) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (32 bit) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) running on Intel Xeon 5675 (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) running on SPARC-T3 (SPARCv9) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 (64 bit) (Sun C Version 5.12)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AES-NI (32 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AESNI (32 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AES-NI (64 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|Oracle Solaris 11 running on Intel Xeon 5675 with AESNI (64 bit) (gcc Compiler Version 4.5.2)&lt;br /&gt;
|-&lt;br /&gt;
|PexOS 1.0 under vSphere ESXi 5.1 running on Intel Xeon E52430L with AES-NI (gcc Compiler Version 4.6.3)3&lt;br /&gt;
|-&lt;br /&gt;
|PexOS 1.0 under vSphere ESXi 5.1 running on Intel Xeon E52430L without AES-NI (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|QNX 6.4 running on Freescale i.MX25 (ARMv4) (gcc Compiler Version 4.3.3)&lt;br /&gt;
|-&lt;br /&gt;
|QNX 6.5 running on Freescale i.MX25 (ARMv4) (gcc Compiler Version 4.3.3)&lt;br /&gt;
|-&lt;br /&gt;
|TS-Linux 2.4 running on Arm920Tid (ARMv4) (gcc Compiler Version 4.3.2)&lt;br /&gt;
|-&lt;br /&gt;
|TS-Linux 2.4 running on Arm920Tid (ARMv4) (gcc Compiler Version 4.3.2)4&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (32 bit) (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (32 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (64 bit) (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 (64 bit) running on Intel Pentium T4200 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 running on Intel Core i5 with AES-NI (32 bit) (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 10.04 running on Intel Pentium T4200 (gcc Compiler Version 4.1.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 12.04 running on Intel Xeon E5-2430L (x86) with AES-NI (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 12.04 running on Intel Xeon E5-2430L (x86) without AES-NI (gcc Compiler Version 4.6.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 13.04 running on AM335x Cortex-A8 (ARMv7) (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 13.04 running on AM335x Cortex-A8 (ARMv7) with NEON (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu 13.04 running on AM335x Cortex-A8 (ARMv7) without NEON (gcc Compiler Version 4.7.3)&lt;br /&gt;
|-&lt;br /&gt;
|uCLinux 0.9.29 (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|uCLinux 0.9.29 running on ARM 922T (ARMv4) (gcc Compiler Version 4.2.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 1.5 under Vmware ESXi 5.0 running on Intel Xeon E3-1220 (x86) with AES-NI (gcc Compiler Version 4.5.1)1&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 1.5 under Vmware ESXi 5.0 running on Intel Xeon E3-1220 (x86) without AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 2.1 under vSphere ESXi 5.5 running on Intel Xeon E3-1220 (x86) with AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 2.1 under vSphere ESXi 5.5 running on Intel Xeon E3-1220 (x86) with AESNI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|Vmware Horizon Workspace 2.1 under vSphere ESXi 5.5 running on Intel Xeon E3-1220 (x86) without AES-NI (gcc Compiler Version 4.5.1)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.7 running on Intel Core 2 Duo (x86) (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.8 (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.8 running on TI TNETV1050 (MIPS) (gcc Compiler Version 4.1.2)&lt;br /&gt;
|-&lt;br /&gt;
|VxWorks 6.9 running on Freescale P2020 (PPC) (gcc Compiler Version 4.3.3)&lt;br /&gt;
|-&lt;br /&gt;
|Windows Embedded Compact 7 running on Freescale i.MX53xA (ARMv7) with NEON (Microsoft C/C++ Optimizing Compiler Version 15.00.20720)&lt;br /&gt;
|-&lt;br /&gt;
|Windows Embedded Compact 7 running on Freescale i.MX53xD (ARMv7) with NEON (Microsoft C/C++ Optimizing Compiler Version 15.00.20720)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=FIPS_module_3.0&amp;diff=2624</id>
		<title>FIPS module 3.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=FIPS_module_3.0&amp;diff=2624"/>
		<updated>2017-12-31T03:55:46Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 3.0 FIPS module will be conceptually similar to the preceeding line of ''OpenSSL FIPS Object Module'' cryptographic modules. An extensive reworking of the internals is planned, to address some issues stemming from the historical origins and subsequent ad hoc evolution of previous modules.&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
These notes are old and subject to change going forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Draft Technical Objectives ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An initial rough draft of requirements and goals:&lt;br /&gt;
&lt;br /&gt;
1) Keep it minimal and avoid any OpenSSL dependencies at all: i.e. make it fully usable as a stand alone crypto module (the 2.0 module is awkwardly usable without OpenSSL but its OpenSSL heritage shows).&lt;br /&gt;
&lt;br /&gt;
2) Support compilation in various forms including as standalone ENGINE which is simply loaded into &amp;quot;normal&amp;quot; OpenSSL which then simply does all the FIPS weirdness automatically. Ideally a &amp;quot;FIPS capable&amp;quot; OpenSSL will no longer be required at all.&lt;br /&gt;
&lt;br /&gt;
3) Overhaul the algorithm testing code to be much cleaner and modular than the hacky stuff we've lived with so far. Allow handling of huge test vector data files by &amp;quot;piping&amp;quot; data instead of having to store the full files on the target device (which can be problematic for embedded environments).&lt;br /&gt;
&lt;br /&gt;
4) Consider feasibility of built in entropy sources so OpenSSL or the parent application/library aren't required to supply entropy.&lt;br /&gt;
&lt;br /&gt;
5) A standalone minimal FIPS module tarball that contains only the code needed to build the contents of the crypto module (only what is inside the &amp;quot;cryptographic module boundary&amp;quot;, in FIPS-speak). Omit the test suite software and much of the build-time software (strong precedent says that &amp;quot;incore&amp;quot; and &amp;quot;fipsld&amp;quot; can be omitted, for instance).&lt;br /&gt;
&lt;br /&gt;
6) Ability to build out of the source tree.&lt;br /&gt;
&lt;br /&gt;
7) FIPS 186-4 KeyGen.&lt;br /&gt;
&lt;br /&gt;
8) SP 800-56A compliance (Self-tests per I.G. 9.6).&lt;br /&gt;
:: Diffie-Hellman full compliance with NIST SP 800-56A including CAVP algorithm testing.&lt;br /&gt;
:: Diffie-Hellman Known Answer Tests (KATs) that include shared secret KAT and KDF KAT.&lt;br /&gt;
&lt;br /&gt;
9) SP 800-56B vendor affirmation (I.G. D.4).&lt;br /&gt;
&lt;br /&gt;
10) SHA-3 and SHAKE.&lt;br /&gt;
&lt;br /&gt;
11) Automatic execution of power-on self-tests (I.G. 9.5/9.10).&lt;br /&gt;
&lt;br /&gt;
12) Any allowed efficiencies in power-on self-tests.&lt;br /&gt;
&lt;br /&gt;
13) Alternate FIPS Approved modes of operation (turn self-tests and algorithms “off”).&lt;br /&gt;
&lt;br /&gt;
14) Explore possibility of validating &amp;quot;stitched&amp;quot; algorithm implementations.&lt;br /&gt;
&lt;br /&gt;
15) Consider any newly FIPS approved algorithms (e.g. new EC curves, Chacha/Poly)&lt;br /&gt;
&lt;br /&gt;
Stakeholder requests:&lt;br /&gt;
&lt;br /&gt;
a.	RSA key wrapping as part of NIST SP 800-56B (also called KTS validation testing), if CAVS testing is available.&lt;br /&gt;
&lt;br /&gt;
b.	AES-GMAC compliance (I.G. A.5).&lt;br /&gt;
&lt;br /&gt;
c.	AES Key Wrap Compliance to NIST SP 800-38F.&lt;br /&gt;
&lt;br /&gt;
d.	PBKDF2 Suppport.&lt;br /&gt;
&lt;br /&gt;
e.      Format Preserving Encrypion Support (NIST SP 800-38G)&lt;br /&gt;
&lt;br /&gt;
f.	Addition of EC curve 25519&lt;br /&gt;
&lt;br /&gt;
g.      Improved entropy to meet NIST SP 800-90B.&lt;br /&gt;
&lt;br /&gt;
h.	Symmetric key wrap conformant to SP 800-38F&lt;br /&gt;
&lt;br /&gt;
i.	SP 800-135 KDFs&lt;br /&gt;
&lt;br /&gt;
j.	SP 800-108 KDFs&lt;br /&gt;
&lt;br /&gt;
k.	Addition of AES XPN&lt;br /&gt;
&lt;br /&gt;
l.	XTS-AES compliance to I.G. A.9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What we probably won't do:&lt;br /&gt;
&lt;br /&gt;
1. Any &amp;quot;light&amp;quot; versions of the FIPS module (i.e fewer algorithm implementations). Each such variant would require a separate FIPS 140 validation which would be cost prohibitive.&lt;br /&gt;
&lt;br /&gt;
2. The initial validation will only include a handful of popular platforms (e.g. Linux on x86). Each platform validation costs both time and money, with the risk of delaying the overall validation if we try to tackle too many in parallel before the validation is awarded (a lesson learned from the last open source based validation in 2012/2013). We will be able to queue up platform validations once the initial validation is formally submitted. However, checking that the new module builds and works for platforms of interest will be useful as platform portability code tweaks are usually minor.&lt;br /&gt;
&lt;br /&gt;
3. Make any substantial addition or changes to the module once the initial development is substantially complete (another lesson learned from the 2.0 validation).&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=FIPS_modules&amp;diff=2623</id>
		<title>FIPS modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=FIPS_modules&amp;diff=2623"/>
		<updated>2017-12-31T03:54:42Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There is currently only one extant FIPS 140-2 validated cryptographic module, the ''OpenSSL FIPS Object Module 2.0''. This module is revised periodically with platform portability modifications to support additional platforms (general improvements and bugfixes, even security vulnerability mitigations, are not permitted[http://veridicalsystems.com/blog/immutability-of-fips/]). As of September 2016 the latest module revision is 2.0.13.&lt;br /&gt;
&lt;br /&gt;
The 2.0 module is rather confusingly covered by three very similar validations, the original #1747[http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#1747] and the &amp;quot;Alternative Scenario 1A&amp;quot; clone validations #2398 [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2398] and #2473 [http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm#2473]. For various reasons the #1747 validation cannot be updated and it and #2473 will forever remain at revision 2.0.10. New platforms can be added to #2398 for revision 2.0.10, and new platforms and new revisions can currently be added to the #2398 validation. The choice of validation is a paperwork consideration as all three validations reference the same cryptographic module. Note there are also a number of third party clone validations that also reference exactly the same cryptographic module. Since that module is available under the OpenSSL open source license, any such validation can be cited for satisfying FIPS 140-2 validation requirements. Collectively across all such validations the 2.0 FIPS module has more than two hundred formally tested platforms (known as &amp;quot;Operational Environments&amp;quot; in FIPS-speak).  More information about the 2.0 FIPS module can be found starting at [[FIPS_module_2.0]].&lt;br /&gt;
&lt;br /&gt;
The 2.0 FIPS module is compatible with OpenSSL releases 1.0.1 and 1.0.2, and no others. The extensive internal structural changes for OpenSSL 1.1 preclude the use of the 2.0 FIPS module with that release.&lt;br /&gt;
&lt;br /&gt;
A new validation effort is to develop and validate a new open source based cryptographic module was announced in July 2016[https://www.openssl.org/blog/blog/2016/07/20/fips/]. &lt;br /&gt;
This new module will be usable with OpenSSL release 1.1. It will provisionally be called ''OpenSSL FIPS Object Module 3.0''.  Notes and commentary can be found starting at [[FIPS_module_3.0]].&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=2387</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=2387"/>
		<updated>2016-04-17T20:08:32Z</updated>

		<summary type="html">&lt;p&gt;Tjh: add link to binaries&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If this is your first visit or to get an account please see the [[Welcome]] page. Your participation and [[Contributions]] are valued.&lt;br /&gt;
&lt;br /&gt;
This wiki is intended as a place for collecting, organizing, and refining useful information about OpenSSL that is currently strewn among multiple locations and formats.&lt;br /&gt;
&lt;br /&gt;
== OpenSSL Quick Links ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;TABLE border=0&amp;gt;&lt;br /&gt;
     &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[OpenSSL Overview]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Compilation and Installation]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Internals]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Mailing Lists]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libcrypto API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libssl API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Examples]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Documentation Index|Index of all API functions]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[License]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Command Line Utilities]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Related Links]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Binaries]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[SSL and TLS Protocols]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[1.1 API Changes]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
  &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Administrivia ==&lt;br /&gt;
Site guidelines, legal and admininstrative issues.&lt;br /&gt;
:* [[Basic rules]], [[Commercial Product Disclaimer]], [[Contributions]], [[Copyright]], [[License]]&lt;br /&gt;
:* Using This Wiki&lt;br /&gt;
:: [http://meta.wikimedia.org/wiki/Help:Contents Wiki User's Guide], [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list], [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki Mailing List]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
This section contains the automagically generated man pages from the OpenSSL git repository, and similar &amp;quot;man&amp;quot; style reference documentation. The man pages are automatically imported from the OpenSSL git repository and local wiki modifications are submitted as patches.&lt;br /&gt;
:* OpenSSL Manual Pages&lt;br /&gt;
::* [[Manual:Openssl(1)]], [[Manual:Ssl(3)]], [[Manual:Crypto(3)]], [[Documentation Index]]&lt;br /&gt;
:: If you wish to edit any of the Manual page content please refer to the [[Guidelines for Manual Page Authors]] page.&lt;br /&gt;
:* [[API]], [[Libcrypto API]], [[Libssl API]]&lt;br /&gt;
:* [[FIPS mode()]], [[FIPS_mode_set()]]&lt;br /&gt;
&lt;br /&gt;
== Usage and Programming ==&lt;br /&gt;
This section has discussions of practical issues in using OpenSSL&lt;br /&gt;
:* Building from Source&lt;br /&gt;
:: Where to find it, the different versions, how to build and install it.&lt;br /&gt;
:* [[OpenSSL Overview]]&lt;br /&gt;
:* [[Versioning]]&lt;br /&gt;
:* [[Compilation and Installation]]&lt;br /&gt;
:* [[EVP]]&lt;br /&gt;
:: Programming techniques and example code&lt;br /&gt;
:: Use of EVP is preferred for most applications and circumstances&lt;br /&gt;
::* [[EVP Asymmetric Encryption and Decryption of an Envelope]]&lt;br /&gt;
::* [[EVP Authenticated Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Symmetric Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Key and Parameter Generation]]&lt;br /&gt;
::* [[EVP Key Agreement]]&lt;br /&gt;
::* [[EVP Message Digests]]&lt;br /&gt;
::* [[EVP Key Derivation]]&lt;br /&gt;
::* [[EVP Signing and Verifying|EVP Signing and Verifying (including MAC codes)]]&lt;br /&gt;
:* [[STACK API]]&lt;br /&gt;
:* Low Level APIs&lt;br /&gt;
::[[Creating an OpenSSL Engine to use indigenous ECDH ECDSA and HASH Algorithms]]&lt;br /&gt;
:: More specialized non-EVP usage&lt;br /&gt;
::* [[Diffie-Hellman parameters]]&lt;br /&gt;
:* [[FIPS Mode]]&lt;br /&gt;
:* [[Simple TLS Server]]&lt;br /&gt;
&lt;br /&gt;
== Concepts and Theory ==&lt;br /&gt;
Discussions of basic cryptographic theory and concepts&lt;br /&gt;
Discussions of common operational issues&lt;br /&gt;
:* [[Base64]]&lt;br /&gt;
:* [http://wiki.openssl.org/index.php/Category:FIPS_140 FIPS 140-2]&lt;br /&gt;
:* [[Random Numbers]]&lt;br /&gt;
:* [[Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Cryptography]]&lt;br /&gt;
&lt;br /&gt;
== Security Advisories ==&lt;br /&gt;
:* [https://www.openssl.org/about/secpolicy.html OpenSSL Security Policy]&lt;br /&gt;
:* [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List]&lt;br /&gt;
:* [[Security_Advisories|Security Advisories Additional Information]]&lt;br /&gt;
&lt;br /&gt;
== Feedback and Contributions ==&lt;br /&gt;
:* [https://www.openssl.org/support/faq.html#BUILD18 How to notify us of suspected security vulnerabilities]&lt;br /&gt;
:* [https://www.openssl.org/support/rt.html How to report bugs and patches, other than for suspected vulnerabilities]&lt;br /&gt;
:* [[Contributions|General background on source and documentation contributions - '''must read''']]&lt;br /&gt;
:* Contributing code fixes, other than for suspected vulnerabilities, as well as fixes and other improvements to manual pages:&lt;br /&gt;
::* If you are unsure as to whether a feature will be useful for the general OpenSSL community please discuss it on the [https://www.openssl.org/support/community.html openssl-dev mailing list] first.  Someone may be already working on the same thing or there may be a good reason as to why that feature isn't implemented.&lt;br /&gt;
::* Follow the [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|instructions for accessing source code]] in the appropriate branches. Note that manual pages and the FAQ are maintained with the source code.&lt;br /&gt;
::* Submit a pull request for each separate fix (also documented [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|there]])&lt;br /&gt;
::* Submit a bug report (see second bullet, above) and reference the pull request. Or you can attach the patch to the ticket.&lt;br /&gt;
:* Contributing fixes and other improvements to the web site&lt;br /&gt;
::* Follow the [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|instructions for accessing web site sources]]&lt;br /&gt;
::* Create a patch (also documented [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|there]])&lt;br /&gt;
::* Submit a bug report and add the patch as an attachment&lt;br /&gt;
:* [[Developing For OpenSSL]]&lt;br /&gt;
:* [[KnownPatches|Known patches not part of OpenSSL]]&lt;br /&gt;
:* [[Welcome|Contributing to this wiki]]&lt;br /&gt;
&lt;br /&gt;
== Internals and Development ==&lt;br /&gt;
This section is for internal details of primary interest to OpenSSL maintainers and power users&lt;br /&gt;
:* [[Code reformatting]]&lt;br /&gt;
&lt;br /&gt;
:* [[Internals]]&lt;br /&gt;
:* [[Code Quality]]&lt;br /&gt;
:* [[Static and Dynamic Analysis]]&lt;br /&gt;
:* [[OCB|OCB Licence details]]&lt;br /&gt;
:* [[Defect and Feature Review Process]]&lt;br /&gt;
:* [[Unit Testing]] (includes other automated testing information)&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=1840</id>
		<title>Related Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=1840"/>
		<updated>2014-07-13T02:22:45Z</updated>

		<summary type="html">&lt;p&gt;Tjh: correct LibreSSL to match the actual LibreSSL page - the varying cases seen elsewhere should be ignored - go with the &amp;quot;source&amp;quot;. Added BoringSSL link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please feel free to edit this page and add your own OpenSSL-based project or product. This is the one place where otherwise extraneous mention of commercial products is appropriate. Note such mention does not constitute endorsement per our [[Commercial Product Disclaimer]].&lt;br /&gt;
&lt;br /&gt;
== Open Source Cryptographic Libraries ==&lt;br /&gt;
&lt;br /&gt;
Products which are available under some form of Open Source license, and which may also be available under some form of commercial license.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Open Source Cryptographic Libraries&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;150px&amp;quot; | Library&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| [http://botan.randombit.net/ Botan]  || a C++ cryptography library which includes a TLS implementation&lt;br /&gt;
|-&lt;br /&gt;
| [https://boringssl.googlesource.com/boringssl/ BoringSSL]  || a Google fork of OpenSSL  ([https://www.imperialviolet.org/2014/06/20/boringssl.html Announcement ])&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.bouncycastle.org/ Bouncy Castle] || cryptography API for Java and C# ([[Wikipedia: Bouncy Castle (cryptography)]])&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cs.auckland.ac.nz/~pgut001/cryptlib/ Cryptlib] || a security toolkit that allows one to easily add encryption and authentication services to software&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cryptopp.com/ Crypto++] || a free C++ class library of cryptographic schemes&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gnutls.org/ GnuTLS] || an LGPL-licensed TLS library with substantial documentation&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.libressl.org/ LibreSSL] || an OpenBSD fork of OpenSSL (Press coverage: [http://www.zdnet.com/openbsd-forks-prunes-fixes-openssl-7000028613/ ZDNet], [http://arstechnica.com/information-technology/2014/04/openssl-code-beyond-repair-claims-creator-of-libressl-fork/ Ars Technica])&lt;br /&gt;
|-&lt;br /&gt;
| [http://libtom.org/ LibTomCrypt] || public domain open source crypto library written in C&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.mitls.org/wsgi miTLS] || a verified reference implementation of the TLS protocol. ([http://www.reddit.com/r/netsec/comments/1zn2d3/mitls_a_verified_reference_tls_implementation/ &amp;quot;reddit: miTLS - A verified reference TLS implementation&amp;quot;])&lt;br /&gt;
|-&lt;br /&gt;
| [http://nacl.cr.yp.to/ NaCl] || NaCl (pronounced &amp;quot;salt&amp;quot;) is a easy-to-use high-speed software library for network communication, encryption, decryption, and signatures&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.mozilla.org/projects/security/pki/nss/ NSS] || a set of libraries designed to support cross-platform development of security-enabled client and server applications&lt;br /&gt;
|-&lt;br /&gt;
| [http://polarssl.org/ PolarSSL] || an SSL library that handles the complexities of the Secure Sockets Layer (SSL) protocol for an application ([[Wikipedia: PolarSSL]])&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.ohloh.net/projects/xyssl XySSL] || a C library providing a very small footprint crypto library and SSL implementation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Open Source Products Using OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
Products which are available under some form of Open Source License, and which may also be available under some form of commercial license.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Open Source Products Using OpenSSL&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;150px&amp;quot; | Product&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| [http://libevent.org/ libevent] || an event driven library which can [http://www.wangafu.net/~nickm/libevent-book/Ref6a_advanced_bufferevents.html#_bufferevents_and_ssl optionally use OpenSSL]&lt;br /&gt;
|-&lt;br /&gt;
| [http://en.wikipedia.org/wiki/Mod_ssl mod_ssl] || SSL/TLS module for the [http://en.wikipedia.org/wiki/Apache_HTTP_Server Apache HTTP Server]&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.stunnel.org/index.html Stunnel] || an SSL encryption wrapper between remote client and local (inetd-startable) or remote server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Closed Source Cryptographic Libraries ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Closed Source Cryptographic Libraries&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;150px&amp;quot; | Library&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.example.com No Entry]  || This is a placeholder&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Closed Source Products Using OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Closed Source Products Using OpenSSL&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;150px&amp;quot; | Product&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.example.com No Entry]  || This is a placeholder&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Books and Documentation == &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Books and Documentation&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;150px&amp;quot; | Title&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| [https://en.wikipedia.org/wiki/Comparison_of_TLS_implementations Comparison of TLS implementations]  || Wikipedia article comparing various TLS libraries&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.keylength.com/ keylength.com]  || site which summarizes various key length recommendations&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.feistyduck.com/books/openssl-cookbook/ OpenSSL Cookbook]  || A free ebook that covers configuration and command-line usage (first&lt;br /&gt;
published in 2013; continuously updated)&lt;br /&gt;
|-&lt;br /&gt;
| [http://shop.oreilly.com/product/9780596002701.do Network Security with OpenSSL]  || O'Reilly book from 2002&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=SECADV_20140605&amp;diff=1721</id>
		<title>SECADV 20140605</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=SECADV_20140605&amp;diff=1721"/>
		<updated>2014-06-06T19:21:09Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SECADV_20140605 =&lt;br /&gt;
&lt;br /&gt;
SSL/TLS MITM vulnerability.&lt;br /&gt;
&lt;br /&gt;
A missing bounds check in the handling of the TLS heartbeat extension can be&lt;br /&gt;
used to reveal up to 64k of memory to a connected client or server.&lt;br /&gt;
&lt;br /&gt;
This advisory covers multiple issues - this additional details page currently only covers one of the issues.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
|-&lt;br /&gt;
| 05-Jun-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140605.txt SECADV_20140605] &lt;br /&gt;
| SSL/TLS MITM vulnerability (and others)&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224 CVE-2014-0224] &lt;br /&gt;
| OpenSSL-0.9.8a-y, OpenSSL-1.0.0a-l, OpenSSL-1.0.1a-g&lt;br /&gt;
| OpenSSL-0.9.8za, OpenSSL-1.0.0m, OpenSSL-1.0.1h&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
An attacker using a carefully crafted handshake can force the use of weak&lt;br /&gt;
keying material in OpenSSL SSL/TLS clients and servers. This can be exploited&lt;br /&gt;
by a Man-in-the-middle (MITM) attack where the attacker can decrypt and &lt;br /&gt;
modify traffic from the attacked client and server.&lt;br /&gt;
&lt;br /&gt;
The attack can only be performed between a vulnerable client *and*&lt;br /&gt;
server. OpenSSL clients are vulnerable in all versions of OpenSSL. Servers&lt;br /&gt;
are only known to be vulnerable in OpenSSL 1.0.1 and 1.0.2-beta1. Users&lt;br /&gt;
of OpenSSL servers earlier than 1.0.1 are advised to upgrade as a precaution.&lt;br /&gt;
&lt;br /&gt;
== Solutions and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
:* OpenSSL 0.9.8 SSL/TLS users (client and/or server) should upgrade to 0.9.8za.&lt;br /&gt;
:* OpenSSL 1.0.0 SSL/TLS users (client and/or server) should upgrade to 1.0.0m.&lt;br /&gt;
:* OpenSSL 1.0.1 SSL/TLS users (client and/or server) should upgrade to 1.0.1h.&lt;br /&gt;
&lt;br /&gt;
== Detecting Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
TODO &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
:* [https://plus.google.com/u/0/+MarkJCox/posts/L8i6PSsKJKs Timeline] Mark J Cox&lt;br /&gt;
:* [http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html '''How I discovered CCS Injection Vulnerability (CVE-2014-0224)'''] Masashi Kikuchi&lt;br /&gt;
:* [https://www.imperialviolet.org/2014/06/05/earlyccs.html '''Early ChangeCipherSpec Attack'''] Adam Langley&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1720</id>
		<title>Security Advisories</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1720"/>
		<updated>2014-06-06T19:20:39Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When serious security problems in OpenSSL are discovered and corrected, the OpenSSL project issues a security advisory, describing the problem and containing a pointer to the fix. &lt;br /&gt;
&lt;br /&gt;
These are announced to the [http://www.mail-archive.com/openssl-announce@openssl.org/ openssl-announce] mailing list and generally also copied to the [http://www.mail-archive.com/openssl-users@openssl.org/ openssl-users] and [http://www.mail-archive.com/openssl-dev@openssl.org/ openssl-dev]  mailing lists and noted in the official [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List].&lt;br /&gt;
&lt;br /&gt;
If you would like advanced notice of vulnerabilities before they are released to the general public, then please join [http://oss-security.openwall.org/wiki/mailing-lists/distros Operating system distribution security contact lists] at OpenWall's OSS Security.&lt;br /&gt;
&lt;br /&gt;
If you think your have discovered a problem that has security implications then send details to [mailto:openssl-security@openssl.org openssl-security@openssl.org]&lt;br /&gt;
&lt;br /&gt;
The list below contains references where there is additional information on an issue which may assist OpenSSL users in understanding or responding to an issue.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ OpenSSL Security Advisories Additional Information&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Additional Information&lt;br /&gt;
|-&lt;br /&gt;
| 05-Jun-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140605.txt SECADV_20140605] &lt;br /&gt;
| SSL/TLS MITM vulnerability (and others)&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224 CVE-2014-0224] &lt;br /&gt;
| OpenSSL-0.9.8a-y, OpenSSL-1.0.0a-l, OpenSSL-1.0.1a-g&lt;br /&gt;
| OpenSSL-0.9.8za, OpenSSL-1.0.0m, OpenSSL-1.0.1h&lt;br /&gt;
| [[SECADV_20140605]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140407] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
| [[SECADV_20140407]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=SECADV_20140605&amp;diff=1699</id>
		<title>SECADV 20140605</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=SECADV_20140605&amp;diff=1699"/>
		<updated>2014-06-05T23:31:43Z</updated>

		<summary type="html">&lt;p&gt;Tjh: Created page with &amp;quot;= SECADV_20140605 =  SSL/TLS MITM vulnerability.  A missing bounds check in the handling of the TLS heartbeat extension can be used to reveal up to 64k of memory to a connected c…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SECADV_20140605 =&lt;br /&gt;
&lt;br /&gt;
SSL/TLS MITM vulnerability.&lt;br /&gt;
&lt;br /&gt;
A missing bounds check in the handling of the TLS heartbeat extension can be&lt;br /&gt;
used to reveal up to 64k of memory to a connected client or server.&lt;br /&gt;
&lt;br /&gt;
This advisory covers multiple issues - this additional details page currently only covers one of the issues.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
|-&lt;br /&gt;
| 05-Jun-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140605.txt SECADV_20140605] &lt;br /&gt;
| SSL/TLS MITM vulnerability (and others)&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224 CVE-2014-0224] &lt;br /&gt;
| OpenSSL-0.9.8a-z, OpenSSL-1.0.0a-l, OpenSSL-1.0.1a-g&lt;br /&gt;
| OpenSSL-0.9.8za, OpenSSL-1.0.0m, OpenSSL-1.0.1h&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
An attacker using a carefully crafted handshake can force the use of weak&lt;br /&gt;
keying material in OpenSSL SSL/TLS clients and servers. This can be exploited&lt;br /&gt;
by a Man-in-the-middle (MITM) attack where the attacker can decrypt and &lt;br /&gt;
modify traffic from the attacked client and server.&lt;br /&gt;
&lt;br /&gt;
The attack can only be performed between a vulnerable client *and*&lt;br /&gt;
server. OpenSSL clients are vulnerable in all versions of OpenSSL. Servers&lt;br /&gt;
are only known to be vulnerable in OpenSSL 1.0.1 and 1.0.2-beta1. Users&lt;br /&gt;
of OpenSSL servers earlier than 1.0.1 are advised to upgrade as a precaution.&lt;br /&gt;
&lt;br /&gt;
== Solutions and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
:* OpenSSL 0.9.8 SSL/TLS users (client and/or server) should upgrade to 0.9.8za.&lt;br /&gt;
:* OpenSSL 1.0.0 SSL/TLS users (client and/or server) should upgrade to 1.0.0m.&lt;br /&gt;
:* OpenSSL 1.0.1 SSL/TLS users (client and/or server) should upgrade to 1.0.1h.&lt;br /&gt;
&lt;br /&gt;
== Detecting Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
TODO &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
:* [https://plus.google.com/u/0/+MarkJCox/posts/L8i6PSsKJKs Timeline] Mark J Cox&lt;br /&gt;
:* [http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html '''How I discovered CCS Injection Vulnerability (CVE-2014-0224)'''] Masashi Kikuchi&lt;br /&gt;
:* [https://www.imperialviolet.org/2014/06/05/earlyccs.html '''Early ChangeCipherSpec Attack'''] Adam Langley&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1698</id>
		<title>SECADV 20140407</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1698"/>
		<updated>2014-06-05T23:30:13Z</updated>

		<summary type="html">&lt;p&gt;Tjh: correct page name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SECADV_20140407 =&lt;br /&gt;
&lt;br /&gt;
A missing bounds check in the handling of the TLS heartbeat extension can be&lt;br /&gt;
used to reveal up to 64k of memory to a connected client or server.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140407] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Due to a missing / incorrect bounds check in the code it is possible to return chunks of memory from a TLS peer (client or server)&lt;br /&gt;
by sending invalid requests which are incorrectly processed.&lt;br /&gt;
&lt;br /&gt;
The memory returned may contain sensitive information such as the private key, account names and/or passwords.&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
Either party in an SSL/TLS channel can request a heartbeat response from the peer. &lt;br /&gt;
This means a client can send a request to a server or a server can send a request to a client making each vulnerable to attach from the other end.&lt;br /&gt;
&lt;br /&gt;
== Solutions and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
:* Upgrade to OpenSSL 1.0.1g.  &lt;br /&gt;
:** This is the recommended option from the OpenSSL team.&lt;br /&gt;
:* Rebuild your affected OpenSSL release with the heartbeat feature disabled&lt;br /&gt;
:** This is as simple as a recompilation with -DOPENSSL_NO_HEARTBEATS&lt;br /&gt;
:* Block the heartbeat processing in your application code&lt;br /&gt;
:** [https://gist.github.com/t-j-h/11337380 heartbeat_block.c] Example application code showing msg_cb use to block heartbeat&lt;br /&gt;
&lt;br /&gt;
== Detecting Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
:* [https://gist.github.com/robstradling/10363389 heartbleed.c] Rob Stradling&lt;br /&gt;
::* C code exampling using OpenSSL library to detect if a server is vulnerable. Requires completed handshake prior to sending invalid heartbeat probe.&lt;br /&gt;
:* [https://github.com/noxxi/p5-scripts/blob/master/check-ssl-heartbleed.pl check-ssl-heartbleed.pl] Steffen Ullrich&lt;br /&gt;
::* Standalone perl script to detect if a server is vulnerable. Sends a ClientHello message and then an invalid heartbeat probe without waiting for the handshake to complete.&lt;br /&gt;
:* [https://code.google.com/p/mike-bland/source/browse/heartbleed/heartbleed_test.c heartbleed_test.c] Mike Bland ([https://github.com/openssl/openssl/pull/81 git pull request])&lt;br /&gt;
::* Regression / Unit Test Suite&lt;br /&gt;
:* [http://blog.meldium.com/home/2014/4/10/testing-for-reverse-heartbleed Testing For Reverse HeartBleed]&lt;br /&gt;
:* [https://github.com/ah8r/cardiac-arrest Cardiac Arrest] &lt;br /&gt;
::* Standalone Python script to detect if a server is vulnerable. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
:* [http://heartbleed.com/ '''HeartBleed'''] [http://www.codenomicon.com/ CodeNomicon ]&lt;br /&gt;
:* [https://gist.github.com/epixoip/10570627 '''Cloudflare Challenge Writeup'''] Jeremi M Gosney&lt;br /&gt;
:* [https://bugzilla.redhat.com/attachment.cgi?id=883475 RedHat fix commit]&lt;br /&gt;
:* [https://plus.google.com/+MarkJCox/posts/TmCbp3BhJma Timeline] Mark J Cox&lt;br /&gt;
:* [http://www.smh.com.au/it-pro/security-it/heartbleed-disclosure-timeline-who-knew-what-and-when-20140415-zqurk.html Heartbleed disclosure timeline: who knew what and when] Sydney Morning Herald&lt;br /&gt;
:* [http://www.hut3.net/blog/cns---networks-security/2014/04/14/bugs-in-heartbleed-detection-scripts- Bugs in Heartbleed detection scripts]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1697</id>
		<title>Security Advisories</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1697"/>
		<updated>2014-06-05T23:29:37Z</updated>

		<summary type="html">&lt;p&gt;Tjh: correct linked page name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When serious security problems in OpenSSL are discovered and corrected, the OpenSSL project issues a security advisory, describing the problem and containing a pointer to the fix. &lt;br /&gt;
&lt;br /&gt;
These are announced to the [http://www.mail-archive.com/openssl-announce@openssl.org/ openssl-announce] mailing list and generally also copied to the [http://www.mail-archive.com/openssl-users@openssl.org/ openssl-users] and [http://www.mail-archive.com/openssl-dev@openssl.org/ openssl-dev]  mailing lists and noted in the official [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List].&lt;br /&gt;
&lt;br /&gt;
If you think your have discovered a problem that has security implications then send details to [mailto:openssl-security@openssl.org openssl-security@openssl.org]&lt;br /&gt;
&lt;br /&gt;
The list below contains references where there is additional information on an issue which may assist OpenSSL users in understanding or responding to an issue.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ OpenSSL Security Advisories Additional Information&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Additional Information&lt;br /&gt;
|-&lt;br /&gt;
| 05-Jun-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140605.txt SECADV_20140605] &lt;br /&gt;
| SSL/TLS MITM vulnerability (and others)&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224 CVE-2014-0224] &lt;br /&gt;
| OpenSSL-0.9.8a-z, OpenSSL-1.0.0a-l, OpenSSL-1.0.1a-g&lt;br /&gt;
| OpenSSL-0.9.8za, OpenSSL-1.0.0m, OpenSSL-1.0.1h&lt;br /&gt;
| [[SECADV_20140605]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140407] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
| [[SECADV_20140407]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=SECADV_2014047&amp;diff=1696</id>
		<title>SECADV 2014047</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=SECADV_2014047&amp;diff=1696"/>
		<updated>2014-06-05T23:29:06Z</updated>

		<summary type="html">&lt;p&gt;Tjh: moved SECADV 2014047 to SECADV 20140407:&amp;amp;#32;get the name right&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[SECADV 20140407]]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1695</id>
		<title>SECADV 20140407</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1695"/>
		<updated>2014-06-05T23:29:06Z</updated>

		<summary type="html">&lt;p&gt;Tjh: moved SECADV 2014047 to SECADV 20140407:&amp;amp;#32;get the name right&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SECADV_2014047 =&lt;br /&gt;
&lt;br /&gt;
A missing bounds check in the handling of the TLS heartbeat extension can be&lt;br /&gt;
used to reveal up to 64k of memory to a connected client or server.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140477] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Due to a missing / incorrect bounds check in the code it is possible to return chunks of memory from a TLS peer (client or server)&lt;br /&gt;
by sending invalid requests which are incorrectly processed.&lt;br /&gt;
&lt;br /&gt;
The memory returned may contain sensitive information such as the private key, account names and/or passwords.&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
Either party in an SSL/TLS channel can request a heartbeat response from the peer. &lt;br /&gt;
This means a client can send a request to a server or a server can send a request to a client making each vulnerable to attach from the other end.&lt;br /&gt;
&lt;br /&gt;
== Solutions and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
:* Upgrade to OpenSSL 1.0.1g.  &lt;br /&gt;
:** This is the recommended option from the OpenSSL team.&lt;br /&gt;
:* Rebuild your affected OpenSSL release with the heartbeat feature disabled&lt;br /&gt;
:** This is as simple as a recompilation with -DOPENSSL_NO_HEARTBEATS&lt;br /&gt;
:* Block the heartbeat processing in your application code&lt;br /&gt;
:** [https://gist.github.com/t-j-h/11337380 heartbeat_block.c] Example application code showing msg_cb use to block heartbeat&lt;br /&gt;
&lt;br /&gt;
== Detecting Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
:* [https://gist.github.com/robstradling/10363389 heartbleed.c] Rob Stradling&lt;br /&gt;
::* C code exampling using OpenSSL library to detect if a server is vulnerable. Requires completed handshake prior to sending invalid heartbeat probe.&lt;br /&gt;
:* [https://github.com/noxxi/p5-scripts/blob/master/check-ssl-heartbleed.pl check-ssl-heartbleed.pl] Steffen Ullrich&lt;br /&gt;
::* Standalone perl script to detect if a server is vulnerable. Sends a ClientHello message and then an invalid heartbeat probe without waiting for the handshake to complete.&lt;br /&gt;
:* [https://code.google.com/p/mike-bland/source/browse/heartbleed/heartbleed_test.c heartbleed_test.c] Mike Bland ([https://github.com/openssl/openssl/pull/81 git pull request])&lt;br /&gt;
::* Regression / Unit Test Suite&lt;br /&gt;
:* [http://blog.meldium.com/home/2014/4/10/testing-for-reverse-heartbleed Testing For Reverse HeartBleed]&lt;br /&gt;
:* [https://github.com/ah8r/cardiac-arrest Cardiac Arrest] &lt;br /&gt;
::* Standalone Python script to detect if a server is vulnerable. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
:* [http://heartbleed.com/ '''HeartBleed'''] [http://www.codenomicon.com/ CodeNomicon ]&lt;br /&gt;
:* [https://gist.github.com/epixoip/10570627 '''Cloudflare Challenge Writeup'''] Jeremi M Gosney&lt;br /&gt;
:* [https://bugzilla.redhat.com/attachment.cgi?id=883475 RedHat fix commit]&lt;br /&gt;
:* [https://plus.google.com/+MarkJCox/posts/TmCbp3BhJma Timeline] Mark J Cox&lt;br /&gt;
:* [http://www.smh.com.au/it-pro/security-it/heartbleed-disclosure-timeline-who-knew-what-and-when-20140415-zqurk.html Heartbleed disclosure timeline: who knew what and when] Sydney Morning Herald&lt;br /&gt;
:* [http://www.hut3.net/blog/cns---networks-security/2014/04/14/bugs-in-heartbleed-detection-scripts- Bugs in Heartbleed detection scripts]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1694</id>
		<title>Security Advisories</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1694"/>
		<updated>2014-06-05T23:20:59Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When serious security problems in OpenSSL are discovered and corrected, the OpenSSL project issues a security advisory, describing the problem and containing a pointer to the fix. &lt;br /&gt;
&lt;br /&gt;
These are announced to the [http://www.mail-archive.com/openssl-announce@openssl.org/ openssl-announce] mailing list and generally also copied to the [http://www.mail-archive.com/openssl-users@openssl.org/ openssl-users] and [http://www.mail-archive.com/openssl-dev@openssl.org/ openssl-dev]  mailing lists and noted in the official [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List].&lt;br /&gt;
&lt;br /&gt;
If you think your have discovered a problem that has security implications then send details to [mailto:openssl-security@openssl.org openssl-security@openssl.org]&lt;br /&gt;
&lt;br /&gt;
The list below contains references where there is additional information on an issue which may assist OpenSSL users in understanding or responding to an issue.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ OpenSSL Security Advisories Additional Information&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Additional Information&lt;br /&gt;
|-&lt;br /&gt;
| 05-Jun-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140605.txt SECADV_20140605] &lt;br /&gt;
| SSL/TLS MITM vulnerability (and others)&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224 CVE-2014-0224] &lt;br /&gt;
| OpenSSL-0.9.8a-z, OpenSSL-1.0.0a-l, OpenSSL-1.0.1a-g&lt;br /&gt;
| OpenSSL-0.9.8za, OpenSSL-1.0.0m, OpenSSL-1.0.1h&lt;br /&gt;
| [[SECADV_20140605]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140407] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
| [[SECADV_2014047]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1693</id>
		<title>Security Advisories</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1693"/>
		<updated>2014-06-05T23:19:52Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When serious security problems in OpenSSL are discovered and corrected, the OpenSSL project issues a security advisory, describing the problem and containing a pointer to the fix. &lt;br /&gt;
&lt;br /&gt;
These are announced to the [http://www.mail-archive.com/openssl-announce@openssl.org/ openssl-announce] mailing list and generally also copied to the [http://www.mail-archive.com/openssl-users@openssl.org/ openssl-users] and [http://www.mail-archive.com/openssl-dev@openssl.org/ openssl-dev]  mailing lists and noted in the official [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List].&lt;br /&gt;
&lt;br /&gt;
If you think your have discovered a problem that has security implications then send details to [mailto:openssl-security@openssl.org openssl-security@openssl.org]&lt;br /&gt;
&lt;br /&gt;
The list below contains references where there is additional information on an issue which may assist OpenSSL users in understanding or responding to an issue.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ OpenSSL Security Advisories Additional Information&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Additional Information&lt;br /&gt;
|-&lt;br /&gt;
| 05-Jun-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140605.txt SECADV_201400605] &lt;br /&gt;
| SSL/TLS MITM vulnerability (and others)&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224 CVE-2014-0224] &lt;br /&gt;
| OpenSSL-0.9.8a-z, OpenSSL-1.0.0a-l, OpenSSL-1.0.1a-g&lt;br /&gt;
| OpenSSL-0.9.8za, OpenSSL-1.0.0m, OpenSSL-1.0.1h&lt;br /&gt;
| [[SECADV_20140605]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140477] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
| [[SECADV_2014047]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=KnownPatches&amp;diff=1638</id>
		<title>KnownPatches</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=KnownPatches&amp;diff=1638"/>
		<updated>2014-04-30T10:15:54Z</updated>

		<summary type="html">&lt;p&gt;Tjh: place to note references to other patches which are not in RT so there is a common location to go when looking for such things&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of patches not contained in the OpenSSL source tree.&lt;br /&gt;
&lt;br /&gt;
:* https://github.com/tianocore/edk2/blob/master/CryptoPkg/Library/OpensslLib/EDKII_openssl-0.9.8w.patch&lt;br /&gt;
::* UEFI related patches&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1637</id>
		<title>Security Advisories</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1637"/>
		<updated>2014-04-30T10:13:37Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When serious security problems in OpenSSL are discovered and corrected, the OpenSSL project issues a security advisory, describing the problem and containing a pointer to the fix. &lt;br /&gt;
&lt;br /&gt;
These are announced to the [http://www.mail-archive.com/openssl-announce@openssl.org/ openssl-announce] mailing list and generally also copied to the [http://www.mail-archive.com/openssl-users@openssl.org/ openssl-users] and [http://www.mail-archive.com/openssl-dev@openssl.org/ openssl-dev]  mailing lists and noted in the official [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List].&lt;br /&gt;
&lt;br /&gt;
If you think your have discovered a problem that has security implications then send details to [mailto:openssl-security@openssl.org openssl-security@openssl.org]&lt;br /&gt;
&lt;br /&gt;
The list below contains references where there is additional information on an issue which may assist OpenSSL users in understanding or responding to an issue.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ OpenSSL Security Advisories Additional Information&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Additional Information&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140477] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
| [[SECADV_2014047]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=1636</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=1636"/>
		<updated>2014-04-30T10:12:39Z</updated>

		<summary type="html">&lt;p&gt;Tjh: Added link to Known Patches&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If this is your first visit or to get an account please see the [[Welcome]] page. Your participation and [[Contributions]] are valued.&lt;br /&gt;
&lt;br /&gt;
This wiki is intended as a place for collecting, organizing, and refining useful information about OpenSSL that is currently strewn among multiple locations and formats.&lt;br /&gt;
&lt;br /&gt;
== OpenSSL Quick Links ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;TABLE border=0&amp;gt;&lt;br /&gt;
     &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[OpenSSL Overview]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Compilation and Installation]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Internals]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Mailing Lists]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libcrypto API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libssl API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Examples]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[License]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Command Line Utilities]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Related Links]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
  &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Administrivia ==&lt;br /&gt;
Site guidelines, legal and admininstrative issues.&lt;br /&gt;
:* [[Basic rules]], [[Commercial Product Disclaimer]], [[Contributions]], [[Copyright]], [[License]]&lt;br /&gt;
:* Using This Wiki&lt;br /&gt;
:: [http://meta.wikimedia.org/wiki/Help:Contents Wiki User's Guide], [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list], [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki Mailing List]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
This section contains the automagically generated man pages from the OpenSSL git repository, and similar &amp;quot;man&amp;quot; style reference documentation. The man pages are automatically imported from the OpenSSL git repository and local wiki modifications are submitted as patches.&lt;br /&gt;
:* OpenSSL Manual Pages&lt;br /&gt;
::* [[Manual:Openssl(1)]], [[Manual:Ssl(3)]], [[Manual:Crypto(3)]], [[Documentation Index]]&lt;br /&gt;
:: If you wish to edit any of the Manual page content please refer to the [[Guidelines for Manual Page Authors]] page.&lt;br /&gt;
:* [[API]], [[Libcrypto API]], [[Libssl API]]&lt;br /&gt;
:* [[FIPS mode()]], [[FIPS_mode_set()]]&lt;br /&gt;
&lt;br /&gt;
== Usage and Programming ==&lt;br /&gt;
This section has discussions of practical issues in using OpenSSL&lt;br /&gt;
:* Building from Source&lt;br /&gt;
:: Where to find it, the different versions, how to build and install it.&lt;br /&gt;
:* [[OpenSSL Overview]]&lt;br /&gt;
:* [[Versioning]]&lt;br /&gt;
:* [[Compilation and Installation]]&lt;br /&gt;
:* [[EVP]]&lt;br /&gt;
:: Programming techniques and example code&lt;br /&gt;
:: Use of EVP is preferred for most applications and circumstances&lt;br /&gt;
::* [[EVP Asymmetric Encryption and Decryption of an Envelope]]&lt;br /&gt;
::* [[EVP Authenticated Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Symmetric Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Key and Parameter Generation]]&lt;br /&gt;
::* [[EVP Key Agreement]]&lt;br /&gt;
::* [[EVP Message Digests]]&lt;br /&gt;
::* [[EVP Key Derivation]]&lt;br /&gt;
::* [[EVP Signing and Verifying|EVP Signing and Verifying (including MAC codes)]]&lt;br /&gt;
:* [[STACK API]]&lt;br /&gt;
:* Low Level APIs&lt;br /&gt;
:: More specialized non-EVP usage&lt;br /&gt;
::* [[Diffie-Hellman parameters]]&lt;br /&gt;
:* [[FIPS Mode]]&lt;br /&gt;
&lt;br /&gt;
== Concepts and Theory ==&lt;br /&gt;
Discussions of basic cryptographic theory and concepts&lt;br /&gt;
Discussions of common operational issues&lt;br /&gt;
:* [[Base64]]&lt;br /&gt;
:* [http://wiki.openssl.org/index.php/Category:FIPS_140 FIPS 140-2]&lt;br /&gt;
:* [[Random Numbers]]&lt;br /&gt;
:* [[Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Cryptography]]&lt;br /&gt;
&lt;br /&gt;
== Security Advisories ==&lt;br /&gt;
:* [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List]&lt;br /&gt;
:* [[Security_Advisories|Security Advisories Additional Information]]&lt;br /&gt;
&lt;br /&gt;
== Feedback and Contributions ==&lt;br /&gt;
:* [https://www.openssl.org/support/faq.html#BUILD18 Notification of suspected security vulnerabilities]&lt;br /&gt;
:* [https://www.openssl.org/support/rt.html Contributing bug reports, other than for suspected vulnerabilities]&lt;br /&gt;
:* [[Contributions|General background on source and documentation contributions - '''must read''']]&lt;br /&gt;
:* Contributing code fixes, other than for suspected vulnerabilities, as well as fixes and other improvements to manual pages&lt;br /&gt;
::* Follow the [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|instructions for accessing source code]] in the appropriate branches&lt;br /&gt;
:::* Note that manual pages and the FAQ are maintained with the source code.&lt;br /&gt;
::* If you are unsure as to whether a feature will be useful for the general OpenSSL community please discuss it on the [https://www.openssl.org/support/community.html openssl-dev mailing list] first.  Someone may be already working on the same thing or there may be a good reason as to why that feature isn't implemented.&lt;br /&gt;
::* Submit a pull request for each separate fix (also documented [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|there]])&lt;br /&gt;
::* Submit a bug report for the issue and reference the pull request&lt;br /&gt;
:* Contributing fixes and other improvements to the web site&lt;br /&gt;
::* Follow the [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|instructions for accessing web site sources]]&lt;br /&gt;
::* Create a patch (also documented [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|there]])&lt;br /&gt;
::* Submit a bug report and add the patch as an attachment&lt;br /&gt;
:* [[KnownPatches|Known patches not part of OpenSSL]]&lt;br /&gt;
:* [[Welcome|Contributing to this wiki]]&lt;br /&gt;
&lt;br /&gt;
== Internals and Development ==&lt;br /&gt;
This section is for internal details of primary interest to OpenSSL maintainers and power users&lt;br /&gt;
:* [[Internals]]&lt;br /&gt;
:* [[Code Quality]]&lt;br /&gt;
:* [[Static and Dynamic Analysis]]&lt;br /&gt;
:* [[OCB|OCB Licence details]]&lt;br /&gt;
:* [[Defect and Feature Review Process]]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Defect_and_Feature_Review_Process&amp;diff=1635</id>
		<title>Defect and Feature Review Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Defect_and_Feature_Review_Process&amp;diff=1635"/>
		<updated>2014-04-30T00:08:03Z</updated>

		<summary type="html">&lt;p&gt;Tjh: added not to use PR#NNNN format and to include git pull URL ... that way automation scripts can pick things up quickly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;THIS IS A PROPOSED PROCESS&lt;br /&gt;
&lt;br /&gt;
==Principles==&lt;br /&gt;
&lt;br /&gt;
* Start looking at the newest tickets in RT first and work backwards in time. This is on the basis that the newest tickets are likely to still be present and most relevant. As we go back in time we will see more and more which are no longer relevant - we will start hitting the law of diminishing returns.&lt;br /&gt;
&lt;br /&gt;
* Older tickets can be looked at on an ad-hoc basis if a person doing triage identifies them (probably on the basis of some post to the dev list) as being important&lt;br /&gt;
&lt;br /&gt;
* Any new RT tickets coming in should get the very highest priority. We can only start to make progress if the problem doesn't continue to grow.&lt;br /&gt;
&lt;br /&gt;
==Triage==&lt;br /&gt;
&lt;br /&gt;
New tickets start off in the &amp;quot;New&amp;quot; status. Someone assigned to triage duty will do a first pass assessment about what the ticket is about.&lt;br /&gt;
&lt;br /&gt;
1) The person triaging the report assigns a severity:&lt;br /&gt;
&lt;br /&gt;
* Wishlist - For all feature requests&lt;br /&gt;
* Blocker - Liable to cause inability to use an important feature for a large number of users&lt;br /&gt;
* Critical - Liable to cause inability to use an important feature for a small number of users&lt;br /&gt;
* Normal - the default level. Something doesn't work right&lt;br /&gt;
* Nice to have - a minor defect which does not affect the fundamental use of OpenSSL or where there are simple work arounds&lt;br /&gt;
&lt;br /&gt;
And gives it a status of one of:&lt;br /&gt;
&lt;br /&gt;
* Resolved (the report has already been dealt with)&lt;br /&gt;
* Rejected (the report is incorrect, not relevant or is not appropriate. Can also be used for defects that will not be fixed, or feature requests that will not be implemented)&lt;br /&gt;
* Open (the report appears to be sane from reading it and requires further investigation)&lt;br /&gt;
&lt;br /&gt;
The triage person classifies the ticket by area and assigns it to a subsystem. Some example subsystems are:&lt;br /&gt;
* Doc - For all documentation&lt;br /&gt;
* Apps - All the command line apps&lt;br /&gt;
* TLS/SSL - Anything related to libssl&lt;br /&gt;
* Build - Anything related to compilation &amp;amp; installation&lt;br /&gt;
* Other - Anything that doesn't fit neatly into any other category&lt;br /&gt;
&lt;br /&gt;
Finally the triager person should determine how quickly this ticket should be resolved by setting the Milestone release that it should be targeted for.&lt;br /&gt;
&lt;br /&gt;
==Report Confirmation and Approval==&lt;br /&gt;
&lt;br /&gt;
Someone reviewing open tickets will take ownership of one of them (keeping in mind the principles stated above). It is assumed that people will review tickets associated with the sub-systems that they have most expertise in:&lt;br /&gt;
&lt;br /&gt;
2) A defect owner will pick up Open tickets and mark them as &amp;quot;owned&amp;quot; by them. They then attempt to recreate the bug (if appropriate). The status is then updated to be either:&lt;br /&gt;
&lt;br /&gt;
* Confirmed - [NOTE THIS STATUS DOES NOT CURRENTLY EXIST - USE THE OPEN STATUS AND CREATE A COMMENT STATING THAT THE DEFECT IS CONFIRMED FOR NOW]&lt;br /&gt;
* Rejected (it could be reopened if the initial person reporting the defect provides further information)&lt;br /&gt;
&lt;br /&gt;
3) Review or create patch&lt;br /&gt;
&lt;br /&gt;
3a) If the bug is confirmed and a patch has been supplied then the owner:&lt;br /&gt;
* Verifies that the patch fixes the issue&lt;br /&gt;
* Sanity check the patch to make sure it looks reasonable&lt;br /&gt;
* If all is ok the owner should also check that the patch can be applied to all relevant branches&lt;br /&gt;
* If not the owner can either port the patch themselves to all branches, or request that the submitter do it&lt;br /&gt;
* Once all of this is done the owner loads the patch into their github repository and creates a pull request (including the '''RT number''' in the request with a comment of PR#NNNN)&lt;br /&gt;
* Once the pull request is created, add a comment to the ticket with the pull request details in the form of the URL(s)&lt;br /&gt;
&lt;br /&gt;
The status is updated to either:&lt;br /&gt;
* Stalled (the patch is not suitable, appropriate, or available for all branches. Again this could be reopened if the original poster submits a revised patch)&lt;br /&gt;
* Approved (the patch is in github for all branches and appears sane - it is ready for the dev team to review) [NOTE THIS STATUS DOES NOT CURRENTLY EXIST - USE THE OPEN STATUS AND CREATE A COMMENT STATING THAT THE DEFECT IS CONFIRMED FOR NOW]&lt;br /&gt;
&lt;br /&gt;
3b) If the bug is confirmed and no patch is available then the same process as above applies, but the owner creates the patch themselves.&lt;br /&gt;
&lt;br /&gt;
4) The dev team only look at Approved RT tickets and verify that they are happy with the patch before committing it.&lt;br /&gt;
&lt;br /&gt;
The status is updated to either:&lt;br /&gt;
* Rejected (as above)&lt;br /&gt;
* Resolved&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1625</id>
		<title>SECADV 20140407</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1625"/>
		<updated>2014-04-27T04:21:25Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SECADV_2014047 =&lt;br /&gt;
&lt;br /&gt;
A missing bounds check in the handling of the TLS heartbeat extension can be&lt;br /&gt;
used to reveal up to 64k of memory to a connected client or server.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140477] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Due to a missing / incorrect bounds check in the code it is possible to return chunks of memory from a TLS peer (client or server)&lt;br /&gt;
by sending invalid requests which are incorrectly processed.&lt;br /&gt;
&lt;br /&gt;
The memory returned may contain sensitive information such as the private key, account names and/or passwords.&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
Either party in an SSL/TLS channel can request a heartbeat response from the peer. &lt;br /&gt;
This means a client and send a request to a server or a server can send a request to a client making each vulnerable to attach from the other end.&lt;br /&gt;
&lt;br /&gt;
== Solutions and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
:* Upgrade to OpenSSL 1.0.1g.  &lt;br /&gt;
:** This is the recommended option from the OpenSSL team.&lt;br /&gt;
:* Rebuild your affected OpenSSL release with the heartbeat feature disabled&lt;br /&gt;
:** This is as simple as a recompilation with -DOPENSSL_NO_HEARTBEATS&lt;br /&gt;
:* Block the heartbeat processing in your application code&lt;br /&gt;
:** [https://gist.github.com/t-j-h/11337380 heartbeat_block.c] Example application code showing msg_cb use to block heartbeat&lt;br /&gt;
&lt;br /&gt;
== Detecting Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
:* [https://gist.github.com/robstradling/10363389 heartbleed.c] Rob Stradling&lt;br /&gt;
::* C code exampling using OpenSSL library to detect if a server is vulnerable. Requires completed handshake prior to sending invalid heartbeat probe.&lt;br /&gt;
:* [https://github.com/noxxi/p5-scripts/blob/master/check-ssl-heartbleed.pl check-ssl-heartbleed.pl] Steffen Ullrich&lt;br /&gt;
::* Standalone perl script to detect if a server is vulnerable. Sends a ClientHello message and then an invalid heartbeat probe without waiting for the handshake to complete.&lt;br /&gt;
:* [https://code.google.com/p/mike-bland/source/browse/heartbleed/heartbleed_test.c heartbleed_test.c] Mike Bland ([https://github.com/openssl/openssl/pull/81 git pull request])&lt;br /&gt;
::* Regression / Unit Test Suite&lt;br /&gt;
:* [http://blog.meldium.com/home/2014/4/10/testing-for-reverse-heartbleed Testing For Reverse HeartBleed]&lt;br /&gt;
:* [https://github.com/ah8r/cardiac-arrest Cardiac Arrest] &lt;br /&gt;
::* Standalone Python script to detect if a server is vulnerable. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
:* [http://heartbleed.com/ '''HeartBleed'''] [http://www.codenomicon.com/ CodeNomicon ]&lt;br /&gt;
:* [https://gist.github.com/epixoip/10570627 '''Cloudfare Challenge Writeup'''] Jeremi M Gosney&lt;br /&gt;
:* [https://bugzilla.redhat.com/attachment.cgi?id=883475 RedHat fix commit]&lt;br /&gt;
:* [https://plus.google.com/+MarkJCox/posts/TmCbp3BhJma Timeline] Mark J Cox&lt;br /&gt;
:* [http://www.smh.com.au/it-pro/security-it/heartbleed-disclosure-timeline-who-knew-what-and-when-20140415-zqurk.html Heartbleed disclosure timeline: who knew what and when] Sydney Morning Herald&lt;br /&gt;
:* [http://www.hut3.net/blog/cns---networks-security/2014/04/14/bugs-in-heartbleed-detection-scripts- Bugs in Heartbleed detection scripts]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1624</id>
		<title>SECADV 20140407</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=SECADV_20140407&amp;diff=1624"/>
		<updated>2014-04-27T04:20:43Z</updated>

		<summary type="html">&lt;p&gt;Tjh: Initial list of useful links and summary details for heartbeat advisory&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SECADV_2014047 =&lt;br /&gt;
&lt;br /&gt;
A missing bounds check in the handling of the TLS heartbeat extension can be&lt;br /&gt;
used to reveal up to 64k of memory to a connected client or server.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140477] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
| [[SECADV_2014047]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Due to a missing / incorrect bounds check in the code it is possible to return chunks of memory from a TLS peer (client or server)&lt;br /&gt;
by sending invalid requests which are incorrectly processed.&lt;br /&gt;
&lt;br /&gt;
The memory returned may contain sensitive information such as the private key, account names and/or passwords.&lt;br /&gt;
&lt;br /&gt;
== Technical Details ==&lt;br /&gt;
&lt;br /&gt;
Either party in an SSL/TLS channel can request a heartbeat response from the peer. &lt;br /&gt;
This means a client and send a request to a server or a server can send a request to a client making each vulnerable to attach from the other end.&lt;br /&gt;
&lt;br /&gt;
== Solutions and Workarounds ==&lt;br /&gt;
&lt;br /&gt;
:* Upgrade to OpenSSL 1.0.1g.  &lt;br /&gt;
:** This is the recommended option from the OpenSSL team.&lt;br /&gt;
:* Rebuild your affected OpenSSL release with the heartbeat feature disabled&lt;br /&gt;
:** This is as simple as a recompilation with -DOPENSSL_NO_HEARTBEATS&lt;br /&gt;
:* Block the heartbeat processing in your application code&lt;br /&gt;
:** [https://gist.github.com/t-j-h/11337380 heartbeat_block.c] Example application code showing msg_cb use to block heartbeat&lt;br /&gt;
&lt;br /&gt;
== Detecting Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
:* [https://gist.github.com/robstradling/10363389 heartbleed.c] Rob Stradling&lt;br /&gt;
::* C code exampling using OpenSSL library to detect if a server is vulnerable. Requires completed handshake prior to sending invalid heartbeat probe.&lt;br /&gt;
:* [https://github.com/noxxi/p5-scripts/blob/master/check-ssl-heartbleed.pl check-ssl-heartbleed.pl] Steffen Ullrich&lt;br /&gt;
::* Standalone perl script to detect if a server is vulnerable. Sends a ClientHello message and then an invalid heartbeat probe without waiting for the handshake to complete.&lt;br /&gt;
:* [https://code.google.com/p/mike-bland/source/browse/heartbleed/heartbleed_test.c heartbleed_test.c] Mike Bland ([https://github.com/openssl/openssl/pull/81 git pull request])&lt;br /&gt;
::* Regression / Unit Test Suite&lt;br /&gt;
:* [http://blog.meldium.com/home/2014/4/10/testing-for-reverse-heartbleed Testing For Reverse HeartBleed]&lt;br /&gt;
:* [https://github.com/ah8r/cardiac-arrest Cardiac Arrest] &lt;br /&gt;
::* Standalone Python script to detect if a server is vulnerable. &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
:* [http://heartbleed.com/ '''HeartBleed'''] [http://www.codenomicon.com/ CodeNomicon ]&lt;br /&gt;
:* [https://gist.github.com/epixoip/10570627 '''Cloudfare Challenge Writeup'''] Jeremi M Gosney&lt;br /&gt;
:* [https://bugzilla.redhat.com/attachment.cgi?id=883475 RedHat fix commit]&lt;br /&gt;
:* [https://plus.google.com/+MarkJCox/posts/TmCbp3BhJma Timeline] Mark J Cox&lt;br /&gt;
:* [http://www.smh.com.au/it-pro/security-it/heartbleed-disclosure-timeline-who-knew-what-and-when-20140415-zqurk.html Heartbleed disclosure timeline: who knew what and when] Sydney Morning Herald&lt;br /&gt;
:* [http://www.hut3.net/blog/cns---networks-security/2014/04/14/bugs-in-heartbleed-detection-scripts- Bugs in Heartbleed detection scripts]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=1623</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=1623"/>
		<updated>2014-04-27T03:00:46Z</updated>

		<summary type="html">&lt;p&gt;Tjh: Add link to official vulnerabilities list and wiki additional information page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If this is your first visit or to get an account please see the [[Welcome]] page. Your participation and [[Contributions]] are valued.&lt;br /&gt;
&lt;br /&gt;
This wiki is intended as a place for collecting, organizing, and refining useful information about OpenSSL that is currently strewn among multiple locations and formats.&lt;br /&gt;
&lt;br /&gt;
== OpenSSL Quick Links ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;TABLE border=0&amp;gt;&lt;br /&gt;
     &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[OpenSSL Overview]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Compilation and Installation]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Internals]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Mailing Lists]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libcrypto API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libssl API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Examples]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[License]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Command Line Utilities]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Related Links]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
  &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Administrivia ==&lt;br /&gt;
Site guidelines, legal and admininstrative issues.&lt;br /&gt;
:* [[Basic rules]], [[Commercial Product Disclaimer]], [[Contributions]], [[Copyright]], [[License]]&lt;br /&gt;
:* Using This Wiki&lt;br /&gt;
:: [http://meta.wikimedia.org/wiki/Help:Contents Wiki User's Guide], [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list], [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki Mailing List]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
This section contains the automagically generated man pages from the OpenSSL git repository, and similar &amp;quot;man&amp;quot; style reference documentation. The man pages are automatically imported from the OpenSSL git repository and local wiki modifications are submitted as patches.&lt;br /&gt;
:* OpenSSL Manual Pages&lt;br /&gt;
::* [[Manual:Openssl(1)]], [[Manual:Ssl(3)]], [[Manual:Crypto(3)]], [[Documentation Index]]&lt;br /&gt;
:: If you wish to edit any of the Manual page content please refer to the [[Guidelines for Manual Page Authors]] page.&lt;br /&gt;
:* [[API]], [[Libcrypto API]], [[Libssl API]]&lt;br /&gt;
:* [[FIPS mode()]], [[FIPS_mode_set()]]&lt;br /&gt;
&lt;br /&gt;
== Usage and Programming ==&lt;br /&gt;
This section has discussions of practical issues in using OpenSSL&lt;br /&gt;
:* Building from Source&lt;br /&gt;
:: Where to find it, the different versions, how to build and install it.&lt;br /&gt;
:* [[OpenSSL Overview]]&lt;br /&gt;
:* [[Versioning]]&lt;br /&gt;
:* [[Compilation and Installation]]&lt;br /&gt;
:* [[EVP]]&lt;br /&gt;
:: Programming techniques and example code&lt;br /&gt;
:: Use of EVP is preferred for most applications and circumstances&lt;br /&gt;
::* [[EVP Asymmetric Encryption and Decryption of an Envelope]]&lt;br /&gt;
::* [[EVP Authenticated Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Symmetric Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Key and Parameter Generation]]&lt;br /&gt;
::* [[EVP Key Agreement]]&lt;br /&gt;
::* [[EVP Message Digests]]&lt;br /&gt;
::* [[EVP Key Derivation]]&lt;br /&gt;
::* [[EVP Signing and Verifying|EVP Signing and Verifying (including MAC codes)]]&lt;br /&gt;
:* [[STACK API]]&lt;br /&gt;
:* Low Level APIs&lt;br /&gt;
:: More specialized non-EVP usage&lt;br /&gt;
::* [[Diffie-Hellman parameters]]&lt;br /&gt;
:* [[FIPS Mode]]&lt;br /&gt;
&lt;br /&gt;
== Concepts and Theory ==&lt;br /&gt;
Discussions of basic cryptographic theory and concepts&lt;br /&gt;
Discussions of common operational issues&lt;br /&gt;
:* [[Base64]]&lt;br /&gt;
:* [http://wiki.openssl.org/index.php/Category:FIPS_140 FIPS 140-2]&lt;br /&gt;
:* [[Random Numbers]]&lt;br /&gt;
:* [[Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Cryptography]]&lt;br /&gt;
&lt;br /&gt;
== Security Advisories ==&lt;br /&gt;
:* [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List]&lt;br /&gt;
:* [[Security_Advisories|Security Advisories Additional Information]]&lt;br /&gt;
&lt;br /&gt;
== Feedback and Contributions ==&lt;br /&gt;
:* [https://www.openssl.org/support/faq.html#BUILD18 Notification of suspected security vulnerabilities]&lt;br /&gt;
:* [https://www.openssl.org/support/rt.html Contributing bug reports, other than for suspected vulnerabilities]&lt;br /&gt;
:* [[Contributions|General background on source and documentation contributions - '''must read''']]&lt;br /&gt;
:* Contributing code fixes, other than for suspected vulnerabilities, as well as fixes and other improvements to manual pages&lt;br /&gt;
::* Follow the [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|instructions for accessing source code]] in the appropriate branches&lt;br /&gt;
:::* Note that manual pages and the FAQ are maintained with the source code.&lt;br /&gt;
::* If you are unsure as to whether a feature will be useful for the general OpenSSL community please discuss it on the [https://www.openssl.org/support/community.html openssl-dev mailing list] first.  Someone may be already working on the same thing or there may be a good reason as to why that feature isn't implemented.&lt;br /&gt;
::* Submit a pull request for each separate fix (also documented [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|there]])&lt;br /&gt;
::* Submit a bug report for the issue and reference the pull request&lt;br /&gt;
:* Contributing fixes and other improvements to the web site&lt;br /&gt;
::* Follow the [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|instructions for accessing web site sources]]&lt;br /&gt;
::* Create a patch (also documented [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|there]])&lt;br /&gt;
::* Submit a bug report and add the patch as an attachment&lt;br /&gt;
:* [[Welcome|Contributing to this wiki]]&lt;br /&gt;
&lt;br /&gt;
== Internals and Development ==&lt;br /&gt;
This section is for internal details of primary interest to OpenSSL maintainers and power users&lt;br /&gt;
:* [[Internals]]&lt;br /&gt;
:* [[Code Quality]]&lt;br /&gt;
:* [[Static and Dynamic Analysis]]&lt;br /&gt;
:* [[OCB|OCB Licence details]]&lt;br /&gt;
:* [[Defect and Feature Review Process]]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1622</id>
		<title>Security Advisories</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Security_Advisories&amp;diff=1622"/>
		<updated>2014-04-27T02:01:06Z</updated>

		<summary type="html">&lt;p&gt;Tjh: Page of references to additional information related to a security advisory&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Security Advisories =&lt;br /&gt;
&lt;br /&gt;
When serious security problems in OpenSSL are discovered and corrected, the OpenSSL project issues a security advisory, describing the problem and containing a pointer to the fix. &lt;br /&gt;
&lt;br /&gt;
These are announced to the [http://www.mail-archive.com/openssl-announce@openssl.org/ openssl-announce] mailing list and generally also copied to the [http://www.mail-archive.com/openssl-users@openssl.org/ openssl-users] and [http://www.mail-archive.com/openssl-dev@openssl.org/ openssl-dev]  mailing lists and noted in the official [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List].&lt;br /&gt;
&lt;br /&gt;
If you think your have discovered a problem that has security implications then send details to [mailto:openssl-security@openssl.org openssl-security@openssl.org]&lt;br /&gt;
&lt;br /&gt;
The list below contains references where there is additional information on an issue which may assist OpenSSL users in understanding or responding to an issue.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ OpenSSL Security Advisories Additional Information&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Advisory&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | CVE&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Affected Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Fixed In Versions&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Additional Information&lt;br /&gt;
|-&lt;br /&gt;
| 07-Apr-2014 &lt;br /&gt;
| [https://www.openssl.org/news/secadv_20140407.txt SECADV_20140477] &lt;br /&gt;
| TLS heartbeat read overrun&lt;br /&gt;
| [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 CVE-2014-1060] &lt;br /&gt;
| OpenSSL-1.0.1a to OpenSSL-1.0.1f&lt;br /&gt;
OpenSSL-1.0.2 betas&lt;br /&gt;
| OpenSSL-1.0.1g &lt;br /&gt;
OpenSSL-1.0.2-beta2&lt;br /&gt;
| [[SECADV_2014047]]&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=260</id>
		<title>Related Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=260"/>
		<updated>2013-03-12T19:27:05Z</updated>

		<summary type="html">&lt;p&gt;Tjh: /* Open Source Products Using OpenSSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please feel free to edit this page and add your own OpenSSL-based project or product. This is the one place where otherwise extraneous mention of commercial products is appropriate. Note such mention does not constitute endorsement per our [[Commercial Product Disclaimer]].&lt;br /&gt;
&lt;br /&gt;
== Open Source Cryptographic Libraries ==&lt;br /&gt;
Products which are available under some form of Open Source license, and which may also be available under some form of commercial license.&lt;br /&gt;
* [http://botan.randombit.net/ Botan] - a C++ cryptography library which includes a TLS implementation&lt;br /&gt;
* [http://www.bouncycastle.org/ Bouncy Castle] - cryptography API for Java and C#&lt;br /&gt;
* [http://www.cs.auckland.ac.nz/~pgut001/cryptlib/ Cryptlib] - a security toolkit that allows one to easily add encryption and authentication services to software&lt;br /&gt;
* [http://www.cryptopp.com/ Crypto++] - a free C++ class library of cryptographic schemes&lt;br /&gt;
* [http://www.gnutls.org/ GnuTLS] - an LGPL-licensed TLS library with substantial documentation&lt;br /&gt;
* [http://libtom.org/ LibTomCrypt] - public domain open source crypto library written in C&lt;br /&gt;
* [http://nacl.cr.yp.to/ NaCl] - NaCl (pronounced &amp;quot;salt&amp;quot;) is a easy-to-use high-speed software library for network communication, encryption, decryption, and signatures&lt;br /&gt;
* [http://www.mozilla.org/projects/security/pki/nss/ NSS] - a set of libraries designed to support cross-platform development of security-enabled client and server applications.&lt;br /&gt;
&lt;br /&gt;
== Open Source Products Using OpenSSL ==&lt;br /&gt;
Products which are available under some form of Open Source License, and which may also be available under some form of commercial license.&lt;br /&gt;
* [http://libevent.org/ libevent] - an event driven library which can [http://www.wangafu.net/~nickm/libevent-book/Ref6a_advanced_bufferevents.html#_bufferevents_and_ssl optionally use OpenSSL]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Mod_ssl mod_ssl] - SSL/TLS module for the [http://en.wikipedia.org/wiki/Apache_HTTP_Server Apache HTTP Server]&lt;br /&gt;
* [https://www.stunnel.org/index.html Stunnel] - an SSL encryption wrapper between remote client and local (inetd-startable) or remote server&lt;br /&gt;
&lt;br /&gt;
== Closed Source Cryptographic Libraries ==&lt;br /&gt;
&lt;br /&gt;
== Closed Source Products Using OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
== Other == &lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Comparison_of_TLS_implementations Wikipedia article comparing various TLS libraries]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=259</id>
		<title>Related Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=259"/>
		<updated>2013-03-12T19:23:53Z</updated>

		<summary type="html">&lt;p&gt;Tjh: /* Open Source Products Using OpenSSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please feel free to edit this page and add your own OpenSSL-based project or product. This is the one place where otherwise extraneous mention of commercial products is appropriate. Note such mention does not constitute endorsement per our [[Commercial Product Disclaimer]].&lt;br /&gt;
&lt;br /&gt;
== Open Source Cryptographic Libraries ==&lt;br /&gt;
Products which are available under some form of Open Source license, and which may also be available under some form of commercial license.&lt;br /&gt;
* [http://botan.randombit.net/ Botan] - a C++ cryptography library which includes a TLS implementation&lt;br /&gt;
* [http://www.bouncycastle.org/ Bouncy Castle] - cryptography API for Java and C#&lt;br /&gt;
* [http://www.cs.auckland.ac.nz/~pgut001/cryptlib/ Cryptlib] - a security toolkit that allows one to easily add encryption and authentication services to software&lt;br /&gt;
* [http://www.cryptopp.com/ Crypto++] - a free C++ class library of cryptographic schemes&lt;br /&gt;
* [http://www.gnutls.org/ GnuTLS] - an LGPL-licensed TLS library with substantial documentation&lt;br /&gt;
* [http://libtom.org/ LibTomCrypt] - public domain open source crypto library written in C&lt;br /&gt;
* [http://nacl.cr.yp.to/ NaCl] - NaCl (pronounced &amp;quot;salt&amp;quot;) is a easy-to-use high-speed software library for network communication, encryption, decryption, and signatures&lt;br /&gt;
* [http://www.mozilla.org/projects/security/pki/nss/ NSS] - a set of libraries designed to support cross-platform development of security-enabled client and server applications.&lt;br /&gt;
&lt;br /&gt;
== Open Source Products Using OpenSSL ==&lt;br /&gt;
Products which are available under some form of Open Source License, and which may also be available under some form of commercial license.&lt;br /&gt;
* [https://www.stunnel.org/index.html Stunnel] - an SSL encryption wrapper between remote client and local (inetd-startable) or remote server&lt;br /&gt;
* [http://libevent.org/ libevent] - an event driven library which can [http://www.wangafu.net/~nickm/libevent-book/Ref6a_advanced_bufferevents.html#_bufferevents_and_ssl optionally use OpenSSL]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Mod_ssl mod_ssl] - SSL/TLS module for the [http://en.wikipedia.org/wiki/Apache_HTTP_Server Apache HTTP Server]&lt;br /&gt;
&lt;br /&gt;
== Closed Source Cryptographic Libraries ==&lt;br /&gt;
&lt;br /&gt;
== Closed Source Products Using OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
== Other == &lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Comparison_of_TLS_implementations Wikipedia article comparing various TLS libraries]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=253</id>
		<title>Related Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=253"/>
		<updated>2013-03-12T01:34:26Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please feel free to edit this page and add your own OpenSSL-based project or product. This is the one place where otherwise extraneous mention of commercial products is appropriate. Note such mention does not constitute endorsement per our [[Commercial Product Disclaimer]].&lt;br /&gt;
&lt;br /&gt;
== Noncommercial Cryptographic Libraries ==&lt;br /&gt;
* [http://botan.randombit.net/ Botan] - a C++ cryptography library which includes a TLS implementation&lt;br /&gt;
* [http://www.bouncycastle.org/ Bouncy Castle] - cryptography API for Java and C#&lt;br /&gt;
* [http://www.cs.auckland.ac.nz/~pgut001/cryptlib/ Cryptlib] - a security toolkit that allows one to easily add encryption and authentication services to software&lt;br /&gt;
* [http://www.cryptopp.com/ Crypto++] - a free C++ class library of cryptographic schemes&lt;br /&gt;
* [http://www.gnutls.org/ GnuTLS] - an LGPL-licensed TLS library with substantial documentation&lt;br /&gt;
* [http://libtom.org/ LibTomCrypt] - public domain open source crypto library written in C&lt;br /&gt;
* [http://nacl.cr.yp.to/ NaCl] - NaCl (pronounced &amp;quot;salt&amp;quot;) is a easy-to-use high-speed software library for network communication, encryption, decryption, and signatures&lt;br /&gt;
* [http://www.mozilla.org/projects/security/pki/nss/ NSS] - a set of libraries designed to support cross-platform development of security-enabled client and server applications.&lt;br /&gt;
&lt;br /&gt;
== Noncommercial Products Using OpenSSL ==&lt;br /&gt;
* [https://www.stunnel.org/index.html Stunnel] - an SSL encryption wrapper between remote client and local (inetd-startable) or remote server&lt;br /&gt;
* [http://libevent.org/ libevent] - an event driven library which can [http://www.wangafu.net/~nickm/libevent-book/Ref6a_advanced_bufferevents.html#_bufferevents_and_ssl optionally use OpenSSL]&lt;br /&gt;
&lt;br /&gt;
== Commercial Cryptographic Libraries ==&lt;br /&gt;
&lt;br /&gt;
== Commercial Products Using OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
== Other == &lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Comparison_of_TLS_implementations Wikipedia article comparing various TLS libraries]&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=240</id>
		<title>Related Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Related_Links&amp;diff=240"/>
		<updated>2013-03-11T23:46:47Z</updated>

		<summary type="html">&lt;p&gt;Tjh: /* Noncommercial Cryptographic Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please feel free to edit this page and add your own OpenSSL-based project or product. This is the one place where otherwise extraneous mention of commercial products is appropriate. Note such mention does not constitute endorsement per our [[Commercial Product Disclaimer]].&lt;br /&gt;
&lt;br /&gt;
== Noncommercial Cryptographic Libraries ==&lt;br /&gt;
* [http://www.bouncycastle.org/ Bouncy Castle] - cryptography API for Java and C#&lt;br /&gt;
* [http://www.mozilla.org/projects/security/pki/nss/ NSS] - a set of libraries designed to support cross-platform development of security-enabled client and server applications.&lt;br /&gt;
* [http://www.gnutls.org/ GnuTLS] - an LGPL-licensed TLS library with substantial documentation&lt;br /&gt;
* [http://botan.randombit.net/ Botan] - a C++ cryptography library which includes a TLS implementation&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Comparison_of_TLS_implementations Wikipedia article comparing various TLS libraries]&lt;br /&gt;
&lt;br /&gt;
== Noncommercial Products Using OpenSSL ==&lt;br /&gt;
* [https://www.stunnel.org/index.html Stunnel] - an SSL encryption wrapper between remote client and local (inetd-startable) or remote server&lt;br /&gt;
* [http://libevent.org/ libevent] - an event driven library which can [http://www.wangafu.net/~nickm/libevent-book/Ref6a_advanced_bufferevents.html#_bufferevents_and_ssl optionally use OpenSSL]&lt;br /&gt;
&lt;br /&gt;
== Commercial Cryptographic Libraries ==&lt;br /&gt;
&lt;br /&gt;
== Commercial Products Using OpenSSL ==&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Commercial_Product_Disclaimer&amp;diff=226</id>
		<title>Commercial Product Disclaimer</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Commercial_Product_Disclaimer&amp;diff=226"/>
		<updated>2013-03-09T20:17:54Z</updated>

		<summary type="html">&lt;p&gt;Tjh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mention of commercial or proprietary products or services in this wiki should not be construed as endorsement by the OpenSSL Software Foundation, the OpenSSL project, or the OpenSSLWiki community.&lt;br /&gt;
&lt;br /&gt;
Reference to such products and services is permissible when restricted to factually verifiable information appropriate in the current context. Citations to independent sources is usually appropriate. Vendors claims should be specifically identified with &amp;quot;According to [vendor name]...&amp;quot; or similar qualifications and should be specific and relevant to the immediate topic of discussion.&lt;br /&gt;
&lt;br /&gt;
Advertising spam will simply be removed without warning.&lt;/div&gt;</summary>
		<author><name>Tjh</name></author>
	</entry>
</feed>