如何验证生成的x509证书私钥密码为MYPWD环境变量实际值
验证私钥密码是否为环境变量实际取值的操作方法
你可以通过openssl原生的私钥读取命令完成双向验证,全程不需要额外工具:
- 正向校验(确认环境变量值可正常解锁私钥)
执行以下命令,传入环境变量作为解密密码尝试读取私钥:
命令无任何报错、正常退出即代表openssl rsa -in privkey.key -passin pass:"$MYPWD" -noout$MYPWD对应的实际值可以正常解锁私钥,密码匹配;如果出现bad decrypt、无法加载私钥类报错才代表密码不匹配。 - 反向校验(确认密码不是字面量字符串"$MYPWD")
执行以下命令,用单引号包裹传入纯字面的$MYPWD字符串(单引号会阻止shell做变量替换,保证传入的就是原始字符串)尝试解锁私钥:
如果该命令报解密失败、无法加载私钥的错误,就可以完全排除私钥密码是字面量"$MYPWD"的可能。openssl rsa -in privkey.key -passin pass:'$MYPWD' -noout
补充说明:你最初执行生成命令时用双引号包裹"$MYPWD",在所有标准POSIX shell(sh、bash、zsh等)中,双引号内的环境变量会被自动替换为实际赋值后再传入openssl,正常场景下不会出现密码被存为字面量的问题,跑完上述两个命令即可100%确认结果。
内容的提问来源于stack exchange,提问作者Mary
相关产品推荐
相关产品推荐

