
openssl openssl-4.0.2
通用 TLS 和加密库
欢迎来到 OpenSSL 项目
==============================
OpenSSL 是一个健壮、商业级、功能齐全的开源工具包,用于传输层安全协议(TLS,原 SSL)、数据报 TLS(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 命令行工具,是加密任务、测试和分析的瑞士军刀。可用于- 创建密钥参数
- 创建 X.509 证书、CSR 和 CRL
- 计算消息摘要
- 加密和解密
- SSL/TLS/DTLS 以及客户端和服务器测试
- QUIC 客户端测试
- 处理 S/MIME 签名或加密的邮件
- 以及更多……
下载
生产使用
官方发布的源代码压缩包可从 openssl-library.org/source/ 下载。
OpenSSL 项目不以二进制形式分发该工具包。
然而,对于多种操作系统,可获取预编译版本的 OpenSSL 工具包。特别是在 Linux 和其他 Unix 操作系统上,通常建议链接到发行商或供应商提供的预编译共享库。
我们还维护了一个第三方列表,这些第三方为各种操作系统(包括 Windows)生成 OpenSSL 二进制文件,详见我们的维基上的 Binaries 页面。
测试与开发
尽管理论上也可以使用源代码压缩包进行测试与开发,但拥有包含完整项目历史的 git 仓库本地副本能让您更深入地了解代码库。
主 OpenSSL Git 仓库是私有的。其公共 GitHub 镜像位于 github.com/openssl/openssl,每次提交后会自动从前者更新。
可以通过从 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 文件
源代码分发的顶层目录中有一些 README.md 文件,包含特定主题的额外信息。
OpenSSL 指南
OpenSSL 指南 中包含一些关于重要 OpenSSL 主题的教程和介绍性页面。
手册页
主分支和所有当前稳定版本的手册页均可在线获取。
示例
在 demos 子文件夹 中有大量用于演示使用各种 OpenSSL 功能的源代码示例。
维基
有一个 GitHub Wiki,但目前不太活跃。
许可证
OpenSSL 在 Apache License 2.0 下授权,这意味着您可以免费获取并使用它用于商业和非商业目的,只要您遵守其条件。
详情请参见 LICENSE.txt 文件。
支持
有多种方式可以取得联系。正确的渠道取决于您的需求。更多详情请参见 SUPPORT 文件。
贡献
如果您有兴趣并愿意为 OpenSSL 项目做出贡献,请查看 CONTRIBUTING 文件。
法律事宜
许多国家限制加密技术的使用或出口。如果您可能受到此类限制,请在尝试开发或分发加密代码之前寻求法律建议。
版权
版权所有 © 1998-2026 OpenSSL 项目作者
版权所有 © 1995-1998 Eric A. Young, Tim J. Hudson
保留所有权利。