我正在编写一个脚本,试图验证证书密码。这就是我的想法。
passtest=$(openssl pkcs12 -info -in $CERTPATH -passin pass:$certpass)
if [[ $passtest == *"invalid password"* ]]; then
NotOK
else
Ok
fi
但是,没有为 $passtest 变量分配任何内容。这种方法适用于其他命令,但似乎 openssl 命令的输出被定向到其他地方?脚本运行时在屏幕上显示的输出。
有任何想法吗?
答案1
openssl
报告错误标准错误。你必须将其重定向到标准输出第一的。这应该有效:
passtest=$(openssl pkcs12 -info -in $CERTPATH -passin pass:$certpass 2>&1)