SuperAPI AI 工具集

openssl-tls

安全与审计

查看项目

更新于 10-15 07:48

技能介绍

openssl-tls 是一份围绕 OpenSSL 命令行的实用命令集,面向需要用命令行完成证书处理、TLS 调试和加密任务的开发者与运维人员。资料本身按任务类型组织,以下按用途分段说明。

一、自签名证书 用于本地开发或测试环境。提供快速一行命令生成私钥与证书,有效期 365 天,CN 设为 localhost;也可通过 -addext 添加 subjectAltName(DNS:localhost、IP:127.0.0.1),资料说明这是 Chrome 接受该证书所需要的。除 RSA 外还给出使用 EC 密钥的方式,指定曲线 P-256。

二、CSR 与私钥 可先生成私钥再生成 CSR,也可一步同时生成密钥与 CSR;CSR 的主题字段通过 -subj 指定(如 /C=US/ST=California/L=SF/O=MyOrg/CN=example.com)。如需 SAN,先写一个包含 subjectAltName 的配置文件(san.cnf),再用 -config 生成 CSR。生成后可用 openssl req -in server.csr -noout -text 校验内容。

三、查看与校验证书 查看证书详情可使用 x509 -noout -text 获取全部信息,也可分别查看 subject、issuer、有效期、SAN、序列号和 SHA256 指纹;还能从远程服务器抓取证书(s_client 配合 x509)。校验方面,提供对系统 CA、指定 CA 文件以及带中间证书链的验证方式,并可用 s_client -showcerts 查看服务器实际发送的完整链。

四、TLS 连接测试 使用 s_client 进行基本连接测试、仅输出证书摘要、强制指定 TLS 1.2 或 1.3、使用客户端证书做 mTLS、指定单个密码套件,以及针对邮件服务器的 STARTTLS(smtp 587、imap 993)。

五、证书到期检查 可查看本地证书或远程服务器证书的 enddate,并给出在 Linux 与 macOS 上计算剩余天数的命令写法(两者日期解析方式不同)。

六、格式转换 覆盖 PEM 与 DER 互转、PEM 转 PKCS12(可带证书链)、PKCS12 导出证书/私钥/全部内容,以及为私钥移除或添加口令。

七、本地 CA 与 mTLS 提供从零搭建本地开发 CA 的步骤:生成 CA 私钥与 CA 证书、生成服务器密钥与 CSR、用 CA 签发带 SAN 与密钥用途的服务器证书,并给出在 macOS 和 Ubuntu/Debian 上信任该 CA 的命令。mTLS 部分则示范签发带 clientAuth 扩展的客户端证书,并用 curl 或 s_client 验证。

八、加密解密与随机数 文件加密使用 AES-256-CBC,配合 -salt 与 -pbkdf2,可交互输入密码或用密钥文件;非对称加密使用 rsautl 以公钥加密、私钥解密。随机数部分提供生成 hex、base64 字符串以及写入文件作为密钥的方式。

九、常见报错排查 资料列举了 certificate verify failed、unable to get local issuer certificate、certificate has expired、certificate is not yet valid、handshake failure/no shared cipher、key values mismatch 等错误,并给出对应的诊断命令,例如查看颁发者、用 -CAfile 显式指定 CA、查看服务器发送的证书链、合并中间证书、确认有效期、检查系统时间、分别测试 TLS 1.2/1.3 与列出可用密码套件;对于密钥与证书不匹配,则通过比较证书、私钥与 CSR 的模数 MD5 是否一致来判断。

适用场景:本地开发 HTTPS、调试服务端 TLS 配置、签发内网或测试证书、排查证书链与过期问题、做简单的文件加解密与随机密钥生成。

限制:资料未提供安装说明、依赖或版本要求、适用平台范围、性能与安全边界说明,也未提供收费或授权信息,这些内容暂未提供。部分命令(如 curl -k、NODE_TLS_REJECT_UNAUTHORIZED=0)资料中明确标注不适合生产环境。