Technology‎ > ‎


OpenSSL is an open source implementation of the SSL and TLS protocols. The core library (written in the C programming language) implements the basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available.

Versions are available for most Unix-like operating systems (including SolarisLinuxMac OS X and the four open source BSD operating systems), OpenVMS and Microsoft Windows. IBM provides a port for the System i (OS/400). OpenSSL is based on SSLeay by Eric A. Young and Tim Hudson, development of which unofficially ended around December 1998, when Young and Hudson both started to work forRSA Security.



[edit]Major version releases

  • OpenSSL 1.0.0 was released on March 29, 2010.
  • OpenSSL 0.9.8 was released on July 5, 2005.
  • OpenSSL 0.9.7 was released on December 31, 2002.
  • OpenSSL 0.9.6 was released on September 25, 2000.
  • OpenSSL 0.9.5 was released on February 28, 2000.
  • OpenSSL 0.9.4 was released on August 9, 1999.
  • OpenSSL 0.9.3 was released on May 25, 1999.
  • OpenSSL 0.9.2b was released on March 22, 1999.
  • OpenSSL 0.9.1c was the first release, on December 23, 1998.


OpenSSL supports a number of different cryptographic algorithms:

AESBlowfishCamelliaSEEDCAST-128DESIDEARC2RC4RC5Triple DESGOST 28147-89[2]
Cryptographic hash functions
MD5MD2SHA-1SHA-2RIPEMD-160MDC-2GOST R 34.11-94[2]
Public-key cryptography
RSADSADiffie–Hellman key exchangeElliptic curveGOST R 34.10-2001[2]

[edit]FIPS 140-2 compliance

OpenSSL is one of the few open source programs to be involved with validation under the FIPS 140-2 computer security standard by the National Institute of Standards and Technology's (NIST) Cryptographic Module Validation Program (CMVP). (OpenSSL itself is not validated, but a component called the OpenSSL FIPS Object Module, based on OpenSSL, was created to provide many of the same capabilities).[3]

A certificate was first awarded in January 2006 but revoked in July 2006 "when questions were raised about the validated module’s interaction with outside software." The certification was reinstated in February 2007.[4]


OpenSSL is "dual licensed" under the OpenSSL License and the SSLeay License.[5] OpenSSL License is Apache License 1.0 and SSLeay License is 4-clause BSD License. The common usage of the term dual-license is that the user may pick which license they wish to use. However, OpenSSL documentation uses the term dual-license to mean that both licenses apply.

As the OpenSSL License is Apache License 1.0, but not Apache License 2.0, it requires the phrase This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. ( to appear in advertising material and any redistributions (Sections 3 and 6 of the OpenSSL License). Due to this restriction, OpenSSL License and Apache License are incompatible with the GPL.[6] Some GPL developers have added an OpenSSL exception to their licenses specifically allowing OpenSSL to be used with their system. GNU Wget and climm both use such exceptions.[7][8] Other packages use the LGPL licensed GnuTLS which performs the same task.

[edit]See also