首页/安全/加密与证书速查/openssl 口令来源管理(pass 语法)
本包目录(305 条)

openssl 口令来源管理(pass 语法)

OpenSSL 命令的 -passin/-passout 支持多种口令来源:pass: 明文(不推荐)、env: 环境变量、file: 文件、fd: 文件描述符;运维脚本应使用后三种以减少泄露面。

加密与证书速查安全更新于 2026-10-12
pass:口令直接写在命令里,会进入历史与进程列表,仅适合临时演示
env:从环境变量读取,注意子进程继承与调试输出
file:从文件读取,文件权限须为 600
fd:从指定文件描述符读取,适合进程间安全传递

脚本中使用 file: 与 env:

脚本中使用 file: 与 env:
umask 077 && printf '%s' "$NEWPASS" > /run/ssl/p12.pass
openssl pkcs12 -export -out site.p12 -inkey site.key -in site.crt -passout file:/run/ssl/p12.pass
P12PASS=$(cat /run/ssl/p12.pass) openssl pkcs12 -in site.p12 -info -noout -passin env:P12PASS
口令文件放在内存盘或权限受限目录;任务结束后清理,避免长期驻留。

易错点

  • 把口令写进 CI 日志可见的位置
  • 共享构建机上的口令文件未清理

数据来源与参考

  • OpenSSL 官方文档(口令来源选项)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌