openssl - OpenSSL 是用于传输层安全 (TLS) 协议(以前称为安全套接字层 (SSL) 协议)的强大、商业级、功能齐全的开源工具包。协议实现基于全强度通用密码库,也可以单独使用。

Created at: 2013-01-16 06:34:48
Language: C
License: Apache-2.0

欢迎来到OpenSSL项目

openssl徽标

github action ci 徽章 应用徽章

OpenSSL 是一个强大的、商业级的、功能齐全的开源工具包,用于传输层安全性 (TLS) 协议,以前称为安全套接字层 (SSL) 协议。协议实现基于全强度的通用加密库,该库也可以独立使用。

OpenSSL源自Eric A. Young和Tim J. Hudson开发的SSLeay库。

OpenSSL项目的官方主页是 www.openssl.org

目录

概述

OpenSSL工具包包括:

  • libssl 是 TLSv1.3 (RFC 8446) 之前所有 TLS 协议版本的实现。

  • libCrypto是一个全强度的通用加密库。它构成了 TLS 实现的基础,但也可以独立使用。

  • openssl OpenSSL命令行工具,一把用于加密任务,测试和分析的瑞士军刀。它可用于

    • 创建关键参数
    • 创建 X.509 证书、CSR 和 CRL
    • 消息摘要的计算
    • 加密和解密
    • SSL/TLS 客户端和服务器测试
    • 处理 S/MIME 签名或加密邮件
    • 以及更多...

下载

用于生产用途

官方版本的源代码包可以从 www.openssl.org/source 下载。OpenSSL 项目不以二进制形式分发工具包。

但是,对于各种操作系统,可以使用OpenSSL工具包的预编译版本。特别是在 Linux 和其他 Unix 操作系统上,通常建议链接到分销商或供应商提供的预编译共享库。

用于测试和开发

虽然测试和开发理论上也可以使用源代码压缩包来完成,但拥有包含整个项目历史记录的 git 存储库的本地副本可以让你更深入地了解代码库。

官方的OpenSSL Git存储库位于 git.openssl.orggithub.com/openssl/openssl 有一个存储库的 GitHub 镜像,每次提交时都会从前者自动更新。

Git 存储库的本地副本可以通过从原始 OpenSSL 存储库克隆来获取

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 的详细说明。对于某些平台,安装说明由特定于平台的文档进行修改。

有关从先前版本升级到 OpenSSL 3.0 的具体说明,请参见 migration_guide(7ossl) 手册页。

文档

手册页

主分支和所有当前稳定版本的手册页可在线获取。

维基

wiki.openssl.org 有一个维基,目前不是很活跃。它包含许多有用的信息,并非所有信息都是最新的。

许可证

OpenSSL在Apache许可证2.0下获得许可,这意味着只要你满足其条件,你就可以自由获取并将其用于商业和非商业目的。

有关更多详细信息,请参阅 LICENSE.txt 文件。

支持

有多种方法可以取得联系。正确的通道取决于你的要求。有关更多详细信息,请参阅支持文件。

贡献

如果你有兴趣并愿意为 OpenSSL 项目做出贡献,请查看 CONTRIBUTE 文件。

合法性

一些国家限制密码学的使用或出口。如果你可能受到此类限制,则应在尝试开发或分发加密代码之前寻求法律建议。

版权

版权所有 (c) 1998-2022 OpenSSL 项目

版权所有 (c) 1995-1998 Eric A. Young, Tim J. Hudson

保留所有权利。