OpenSSL:互联网加密的底层基石

OpenSSL 在 GitHub 上拿到 30,307 Star。

这东西你每天都在用,只是你自己不知道。浏览器地址栏那把小锁、App 登录时的数据传输、服务器之间的 API 调用,背后几乎都有 OpenSSL 在撑着。它是目前使用最广泛的 TLS/SSL 协议实现,没有之一。

正文顶部截图

1、 它到底是什么

OpenSSL 是一套开源的加密工具包,核心由三部分组成:

  • libssl:实现 TLS、DTLS、QUIC 协议
  • libcrypto:通用加密库,可以独立使用
  • openssl:命令行工具,证书管理、加解密、签名验证都能做

它最早脱胎于 Eric A. Young 和 Tim J. Hudson 开发的 SSLeay 库,经过二十多年迭代,现在是 Linux、macOS、Windows 等主流平台的标配加密组件。

2、 为什么到处都是它

互联网安全通信的核心是 TLS 协议,而 OpenSSL 是这个协议最完整的开源实现。

从 TLSv1.3 到 DTLSv1.2 再到 QUIC v1,它跟进了所有主流标准。加密库部分通过了 FIPS 验证,满足美国联邦政府的安全合规要求。

更关键的一点:它免费,Apache 2.0 协议,商用也没有法律障碍。对于需要加密能力的软件项目,OpenSSL 基本是绕不开的选项。

README区域截图

3、 命令行工具能干啥

OpenSSL 自带的命令行工具是个瑞士军刀,常用操作包括:

  • 生成密钥和证书签名请求(CSR)
  • 签发和管理 X.509 证书
  • 计算消息摘要
  • 加密和解密数据
  • 测试 SSL/TLS/DTLS 连接
  • 处理 S/MIME 签名或加密邮件

做运维的人经常拿它来排查证书问题、生成自签名证书、验证 HTTPS 配置。开发阶段做接口联调时也常常用到。

4、 怎么获取

大多数 Linux 发行版已经预装了 OpenSSL。macOS 自带的也有,但版本可能偏旧。

Windows 用户可以从项目维护的第三方二进制列表中获取。源码包可以从 openssl-library.org 下载,编译安装的话项目提供了覆盖 Unix、Windows、Android、OpenVMS 等平台的详细文档。

5、 什么人用得上

  • 服务器运维和后端开发,处理证书和 TLS 配置是日常

  • 做安全审计或密码学研究的人,OpenSSL 是核心参考实现

  • 需要在项目里集成加密能力的开发者

  • 做安全审计或密码学研究的人,OpenSSL 是核心参考实现

  • 需要在项目里集成加密能力的开发者

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐