OpenSSL 是一个强大的、商业级的、功能齐全的开源工具包,适用于 TLS(以前称为 SSL)、DTLS 和 QUIC(目前仅限客户端)协议。
协议实现基于全强度通用加密库,该库也可以独立使用。还包括经过验证符合 FIPS 标准的加密模块。
OpenSSL 源自 Eric A. Young 和 Tim J. Hudson 开发的 SSLeay 库。
OpenSSL 项目的官方主页是 www.openssl.org。
概述
下载
构建和安装
文档
执照
支持
贡献
合法性
OpenSSL 工具包包括:
libssl是 TLSv1.3 (RFC 8446) 之前的所有 TLS 协议版本、DTLSv1.2 (RFC 6347) 之前的 DTLS 协议版本和 QUIC(当前仅客户端)版本 1 协议 (RFC 9000) 的实现。
libcrypto一个全强度的通用加密库。它构成了 TLS 实现的基础,但也可以独立使用。
openssl OpenSSL 命令行工具,是用于加密任务、测试和分析的瑞士军刀。它可用于
创建关键参数
创建 X.509 证书、CSR 和 CRL
消息摘要的计算
加密和解密
SSL/TLS/DTLS 以及客户端和服务器测试
QUIC 客户端测试
处理 S/MIME 签名或加密邮件
还有更多...
官方版本的源代码 tarball 可以从 www.openssl.org/source 下载。 OpenSSL 项目不以二进制形式分发该工具包。
不过,对于多种操作系统,都可以使用 OpenSSL 工具包的预编译版本。特别是,在 Linux 和其他 Unix 操作系统上,通常建议链接经销商或供应商提供的预编译共享库。
我们还在 wiki 的二进制文件页面上维护了为各种操作系统(包括 Windows)生成 OpenSSL 二进制文件的第三方列表。
尽管理论上也可以使用源 tarball 来完成测试和开发,但拥有包含整个项目历史记录的 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 上分叉 OpenSSL 存储库 openssl/openssl 并克隆您的公共分叉。
git clone https://github.com/yourname/openssl.git
这是必要的,因为现在 OpenSSL 的所有开发都是通过 GitHub 拉取请求完成的。有关更多详细信息,请参阅贡献。
获取源代码后,请查看 INSTALL 文件以获取有关构建和安装 OpenSSL 的详细说明。对于某些平台,安装说明由特定于平台的文档进行了修改。
类 UNIX 平台的注释
Android 平台注意事项
Windows 平台注意事项
DJGPP DOS 平台注意事项
OpenVMS 平台注意事项
Perl 注释
Valgrind 的注释
有关从以前版本升级到 OpenSSL 3.x 的具体说明,请参阅 ossl-guide-migration(7ossl) 手册页。
源代码发行版的顶层有一些 README.md 文件,其中包含有关特定主题的附加信息。
有关 OpenSSL QUIC 协议实现的信息
有关 OpenSSL 提供程序架构的信息
有关使用 OpenSSL FIPS 验证模块的信息
有关旧版 OpenSSL 引擎架构的信息
OpenSSL 指南中有一些关于一些重要 OpenSSL 主题的教程和介绍页面。
master 分支和所有当前稳定版本的手册页均可在线获取。
OpenSSL 大师
OpenSSL 3.0
OpenSSL 3.1
OpenSSL 3.2
demos 子文件夹中有大量使用各种 OpenSSL 功能的源代码演示。
wiki.openssl.org 上有一个 Wiki,目前不太活跃。它包含许多有用的信息,但并非所有信息都是最新的。
OpenSSL 根据 Apache License 2.0 获得许可,这意味着只要满足其条件,您就可以免费获取并将其用于商业和非商业目的。
有关更多详细信息,请参阅 LICENSE.txt 文件。
有多种联系方式。正确的渠道取决于您的要求。有关更多详细信息,请参阅支持文件。
如果您有兴趣并愿意为 OpenSSL 项目做出贡献,请查看 CONTRIBUTING 文件。
许多国家限制密码学的使用或出口。如果您可能受到此类限制,您应该在尝试开发或分发加密代码之前寻求法律建议。
版权所有 (c) 1998-2024 OpenSSL 项目作者
版权所有 (c) 1995-1998 Eric A. Young、Tim J. Hudson
版权所有。