OpenSSL 是一款功能强大、商业级、功能齐全的开源工具包,适用于 TLS(以前称为 SSL)、DTLS 和 QUIC 协议。
该协议的实现基于一个功能强大的通用加密库,该库也可独立使用。此外,它还包含一个经过 FIPS 标准验证的加密模块。
OpenSSL 源自 Eric A. Young 和 Tim J. Hudson 开发的 SSLeay 库。
OpenSSL 项目的官方主页是 [www.openssl.org]。
OpenSSL 工具包包含:
libssl
实现所有 TLS 协议版本,最高可达 TLSv1.3 ([RFC 8446])、DTLS 协议版本,最高可达 DTLSv1.2 ([RFC 6347]) 以及QUIC 版本 1 协议 ([RFC 9000])。
libcrypto
一个功能强大的通用加密库。它构成了TLS 实现的基础,但也可以独立使用。
openssl
OpenSSL 命令行工具,用于加密任务、测试和分析的瑞士军刀。它可用于
官方版本的源代码 tarball 可以从openssl-library.org/source/ 下载。OpenSSL 项目不以二进制形式分发该工具包。
但是,对于各种操作系统,OpenSSL 工具包都有预编译版本。特别是在 Linux 和其他Unix 操作系统上,通常建议链接到发行商或供应商提供的预编译共享库。
我们还在 Wiki 的 [二进制文件] 页面上维护了一个为各种操作系统(包括 Windows)生成 OpenSSL 二进制文件的第三方列表。
虽然理论上也可以使用源代码 tarball 进行测试和开发,但拥有包含完整项目历史记录的 git 存储库的本地副本,可以让您更深入地了解代码库。
OpenSSL 的主 Git 仓库是私有的。它在 [github.com/openssl/openssl] 有一个公共的 GitHub 镜像,每次提交后都会自动从前者更新。
可以通过从 GitHub 镜像克隆获取 Git 仓库的本地副本,使用以下命令:
git clone https://github.com/openssl/openssl.git
如果您打算为 OpenSSL 做出贡献,无论是修复错误还是贡献新功能,您都需要 fork GitHub 镜像并克隆您的公共 fork。
git clone https://github.com/yourname/openssl.git
这是必要的,因为现在 OpenSSL 的所有开发都是通过GitHub 拉取请求完成的。更多详情,请参阅贡献。
获取源代码后,请查看 INSTALL 文件,获取有关构建和安装 OpenSSL 的详细说明。对于某些平台,安装说明会根据平台特定文档进行修改。
有关从旧版本升级到 OpenSSL 3.x 的具体说明,请参阅 ossl-guide-migration(7ossl) 手册页。
源代码发行版的顶层目录下有一些 README.md 文件,其中包含特定主题的补充信息。
[OpenSSL 指南] 中包含一些关于一些重要 OpenSSL 主题的教程和介绍页面。
主分支和所有当前稳定版本的手册页均可在线获取。
在 demos 子文件夹 中,有大量使用各种 OpenSSL 功能的源代码演示。
有一个 [GitHub Wiki],但目前不太活跃。
OpenSSL 采用 Apache 许可证 2.0 授权,这意味着只要您满足其条款,您可以自由获取并用于商业和非商业用途。更多详情,请参阅 LICENSE.txt 文件。
您可以通过多种方式联系我们。正确的渠道取决于您的需求。更多详情,请参阅 SUPPORT 文件。
许多国家/地区限制使用或出口加密技术。如果您可能受到此类限制,则应在尝试开发或分发加密代码之前寻求法律建议。
版权所有 (c) 1998-2025 OpenSSL 项目作者
版权所有 (c) 1995-1998 Eric A. Young、Tim J. Hudson
保留所有权利。