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 命令行工具,是用于密码学任务、测试和分析的瑞士军刀。它可以用于:
官方发布版的源代码压缩包可以从 www.openssl.org/source 下载。 OpenSSL 项目不以二进制形式分发该工具包。
然而,对于大量操作系统,都有预编译版本的 OpenSSL 工具包可用。 特别是在 Linux 和其他 Unix 操作系统上,通常建议链接到 发行商或供应商提供的预编译共享库。
我们还在 wiki 的 Binaries 页面上维护了一份为各种操作系统 (包括 Windows)生成 OpenSSL 二进制的第三方列表。
虽然理论上也可以使用源代码压缩包进行测试和开发, 但拥有一个包含完整项目历史的 git 仓库本地副本 能让您更深入地了解代码库。
官方 OpenSSL Git 仓库位于 git.openssl.org。 该仓库在 github.com/openssl/openssl 有一个 GitHub 镜像, 每次提交后都会自动从前者更新。
可以通过从原始 OpenSSL 仓库克隆来获取 Git 仓库的本地副本,使用
git clone git://git.openssl.org/openssl.git
或者从 GitHub 镜像克隆,使用
git clone https://github.com/openssl/openssl.git
如果您打算为 OpenSSL 做贡献,无论是修复错误还是贡献新功能, 您需要在 GitHub 上 fork openssl/openssl 仓库,并克隆您的公共 fork。
git clone https://github.com/yourname/openssl.git
这是必要的,因为如今 OpenSSL 的所有开发都是通过 GitHub 拉取请求完成的。 更多详情,请参阅 贡献。
获取源代码后,请查看 INSTALL 文件, 了解有关构建和安装 OpenSSL 的详细说明。对于某些平台, 安装说明会附有特定平台的补充文档。
有关从先前版本升级到 OpenSSL 3.x 的具体说明, 请参阅 ossl-guide-migration(7ossl) 手册页。
在源代码分发的顶层有一些 README.md 文件, 包含有关特定主题的附加信息。
在 [OpenSSL 指南] 中有一些关于 OpenSSL 重要主题的教程和入门页面。
master 分支和所有当前稳定版本的手册页均可在线获取。
在 demos 子文件夹 中有大量使用各种 OpenSSL 功能的源代码示例。
在 wiki.openssl.org 有一个 Wiki,目前不太活跃。 其中包含大量有用的信息,但并非所有内容都是最新的。
OpenSSL 根据 Apache License 2.0 许可,这意味着 只要您满足其条件,就可以免费获取并将其用于商业和非商业目的。
有关更多详情,请参阅 LICENSE.txt 文件。
有多种方式可以联系我们。正确的渠道取决于您的需求。 有关更多详情,请参阅 SUPPORT 文件。
如果您有兴趣并愿意为 OpenSSL 项目做贡献, 请查看 CONTRIBUTING 文件。
许多国家对密码学的使用或出口进行限制。如果您可能受到此类限制, 在尝试开发或分发密码学代码之前,应寻求法律建议。
Copyright (c) 1998-2023 The OpenSSL Project Authors
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
保留所有权利。