首页/安全/加密与证书速查/openssl rsa 查看与转换 RSA 密钥

openssl rsa 查看与转换 RSA 密钥

rsa 命令用于读取、检查与转换 RSA 私钥:打印参数、导出公钥、去除口令、比对模数;3.x 中仍保留该命令作为兼容入口。

加密与证书速查安全更新于 2026-10-13

rsa 命令能做什么

该命令用于读取、检查与转换 RSA 私钥:打印密钥参数、导出公钥、去除口令,以及通过比对模数确认私钥与证书是否配对。3.x 中它仍作为兼容入口保留,底层由通用的 pkey 框架承担。它只处理 RSA 密钥,EC 与 Ed25519 密钥需要换用通用命令处理。

基本信息

查看参数openssl rsa -in key.pem -noout -text
一致性检查-check 校验密钥内部参数是否自洽
导出公钥-pubout -out pub.pem
去口令转换后立即收紧文件权限

典型使用场景

  • 部署前核对私钥与证书是否配对
  • 排查握手失败:确认服务加载的是否为正确私钥
  • 从私钥导出公钥,供对端配置或写入授权文件
  • 处理带口令的旧私钥,转换为服务可读取的形式
  • 审计:输出密钥长度与参数,核对是否符合基线

比对私钥与证书匹配

比对私钥与证书匹配
openssl rsa -in key.pem -noout -modulus | openssl dgst -sha256     # 私钥模数指纹
openssl x509 -in cert.pem -noout -modulus | openssl dgst -sha256    # 证书模数指纹
# 两行输出完全一致即表示配对
openssl rsa -in key.pem -noout -check                               # 校验密钥参数自洽

常用动作

目的命令要点注意
查看参数-noout -text输出含私钥参数,勿入日志
导出公钥-pubout公钥可公开,私钥不可
去口令-out 新文件仅限受控存放场景
加密私钥-aes256转换后需口令才能读取
证书与私钥是否配对可以直接比对模数指纹,两边输出完全一致即匹配;这比反复重启服务观察报错更快也更可靠。

操作注意事项

  • 输出可能包含私钥参数,不要重定向到共享日志
  • 去口令后的明文私钥要立刻设权限并限制目录访问
  • 生产环境优先使用现代算法,而非长期维持旧密钥长度
  • 转换后做一次签名验证回路,确认密钥可用
私钥参数出现在终端历史、脚本日志或工单截图里,等同于私钥泄露;操作带口令私钥时应避免会把内容写入记录的方式。

易错点

  • EC 与 Ed25519 密钥用 rsa 命令处理:格式不同会直接报错,应换用通用命令
  • 去口令后的明文私钥未及时改权限与清理:终端历史与备份中可能残留副本
  • 只看文件存在就认为私钥可用:未做配对校验,上线后才发现不匹配
  • 把参数输出贴到工单或日志:私钥细节因此暴露
  • 假设所有 RSA 私钥格式都能用同一参数读取:传统格式与 PKCS#8 需要不同转换路径

数据来源与参考

  • OpenSSL 官方文档(rsa)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌