Repolode
glincker

glincker/sslx

一个用 Rust 编写的单文件命令行工具,用于查看、评级和管理证书及 TLS 连接,是 OpenSSL 命令行的简易替代。

可替代:SSL Labsjwt.io

Star
109
Fork
6
未关闭 Issue
19
最近提交
4天前

这是什么?

sslx 是一个处理 X.509 证书和 TLS 连接的命令行工具,把通常需要组合多条 openssl 命令完成的工作整合到一个程序里。它可以查看证书、检查目标主机的 TLS 握手和证书链、用 CA 证书包验证证书链,以及确认证书与私钥是否匹配。程序基于 rustls 构建,不依赖系统安装的 OpenSSL。

除了检查功能,sslx 还能对主机的 TLS 配置进行 A+ 到 F 的评级,评估协议版本、密码套件、证书有效期、密钥类型、主机名匹配、证书链完整性和 ALPN 等项目。expiry 命令可以一次检查多个主机的证书过期情况,若有证书在 7 天内过期则以退出码 1 结束,适合用于定时任务或 CI 流水线。此外,它还能生成自签名证书和 CSR,在 PEM、DER 与 PKCS12 之间转换格式,并解码文件或 JWT 令牌。

所有命令都支持 --json 参数,便于脚本调用。项目提供 bash、zsh 和 fish 的自动补全脚本,可通过 cargo、Homebrew 或预编译二进制安装。

核心功能

  • 01对主机的 TLS 配置从协议、密码套件、证书和证书链等方面评为 A+ 到 F。
  • 02一次检查多个主机的证书有效期,临近过期时返回非零退出码。
  • 03查看 PEM 和 DER 格式证书,支持多证书的证书包。
  • 04生成自签名证书和证书签名请求(CSR)。
  • 05在 PEM、DER 与 PKCS12 格式之间转换,并从 PKCS12 中提取证书和私钥。
  • 06解码文件与 JWT 令牌,所有命令均支持 JSON 输出。

适用场景

  • 在定时任务或 CI 流水线中批量检查多台主机的证书过期时间。
  • 排查服务器上的 TLS 握手失败或证书链错误。
  • 为本地开发生成自签名证书。
  • 生成 CSR 以提交给证书颁发机构。

快速上手

  1. 1

    使用 Cargo 安装 sslx 二进制文件

    cargo install sslx
  2. 2

    评估某个主机的 TLS 配置

    sslx grade github.com
  3. 3

    为本地开发生成自签名证书

    sslx generate --cn localhost --san "*.local,127.0.0.1"

使用前须知

  • README 中的基准测试仅在 macOS M2 上进行,其他平台的性能未经验证。
  • 该项目较新,仅有 94 个星标,且未说明稳定版本发布情况。

收录于专题

标签

常见问题

sslx 是什么?
一个用 Rust 编写的单文件命令行工具,用于查看、评级和管理证书及 TLS 连接,是 OpenSSL 命令行的简易替代。 sslx 是一个处理 X.509 证书和 TLS 连接的命令行工具,把通常需要组合多条 openssl 命令完成的工作整合到一个程序里。它可以查看证书、检查目标主机的 TLS 握手和证书链、用 CA 证书包验证证书链,以及确认证书与私钥是否匹配。程序基于 rustls 构建,不依赖系统安装的 OpenSSL。
sslx 可以免费使用吗?用的什么许可证?
sslx 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
sslx 还在维护吗?
活跃维护中。sslx 最近一次提交是在 2026年10月21日。
sslx 适合用来做什么?
在定时任务或 CI 流水线中批量检查多台主机的证书过期时间。 排查服务器上的 TLS 握手失败或证书链错误。 为本地开发生成自签名证书。 生成 CSR 以提交给证书颁发机构。
sslx 怎么安装和运行?
使用 Cargo 安装 sslx 二进制文件: cargo install sslx 评估某个主机的 TLS 配置: sslx grade github.com 为本地开发生成自签名证书: sslx generate --cn localhost --san "*.local,127.0.0.1"
在哪里获取 sslx?
源代码和安装说明在 GitHub 上:https://github.com/glincker/sslx

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目