OpenSSL
概要

OpenSSLを自らのソフトウェアに組み込むことで、SSL(Secure Socket Layer)や後継のTLS(Transport Layer Security)、あるいはUDP版のDTLS(Datagram Transport Layer Security)による通信の暗号化や改竄検知、通信相手の認証といったセキュリティ機能を実装できる。
デジタル署名の生成・検証やハッシュ関数など、暗号処理に関する幅広い機能も備えている。主要部分はC言語で記述されており、LinuxやmacOSなどのUNIX系OSおよびWindowsで動作する。PythonやRuby、Javaなど他のプログラミング言語向けのラッパーも多数公開されており、様々な開発環境から利用できる。
ライブラリ機能に加え、公開鍵暗号の鍵ペアの生成、デジタル証明書の作成、認証局(CA)に提出する証明書署名要求(CSR)の生成、TLS通信の動作確認などを行うための多数のコマンドラインツールが付属している。システム管理者や開発者が公開鍵基盤(PKI)の運用や通信の検証を行う際の標準的なツールとしても利用されている。
前身の「SSLeay」から派生し、1999年に開発が始まった。バージョン3以降はApache License 2.0のもとで配布されており、商用・非商用を問わず自由に利用できる。2014年にはメモリ上の情報が漏えいする脆弱性「Heartbleed」が公表され、多くのサーバやサービスが対応を余儀なくされた。この出来事を契機に、コード品質や保守体制の強化が進められる一方、OpenBSDチームによる「LibreSSL」や米グーグル(Google)社による「BoringSSL」など、OpenSSLを代替するライブラリの開発が相次いで始まった。