Openssl 如何验证pem证书的密码短语

Openssl 如何验证pem证书的密码短语,openssl,certificate,Openssl,Certificate,正如标题所说。我可以使用php的openssl\u pkcs12\u read轻松验证p12证书的密码短语,但似乎pems没有类似的功能。也许使用pems是不可能做到这一点的?您是否尝试过php的openssl\u x509\u read 或者,如果您只是使用openssl,openssl x509-text如果您不介意密码出现在命令行和shell历史记录中,请尝试以下操作: openssl rsa -noout -in YOUR_PRIVATE_KEY_FILE.pem -passin "pa

正如标题所说。我可以使用php的
openssl\u pkcs12\u read
轻松验证p12证书的密码短语,但似乎pems没有类似的功能。也许使用pems是不可能做到这一点的?

您是否尝试过php的
openssl\u x509\u read


或者,如果您只是使用openssl,
openssl x509-text

如果您不介意密码出现在命令行和shell历史记录中,请尝试以下操作:

openssl rsa -noout -in YOUR_PRIVATE_KEY_FILE.pem -passin "pass:YOUR_PASSWORD"
或者使用文件中的密码:

openssl rsa -noout -in YOUR_PRIVATE_KEY_FILE.pem -passin "file:/PATH/PASSWORD_FILE.TXT" 
或者围绕以下内容构建:

if openssl rsa -noout -in "$KEYFILE" -passin "pass:$PASSWORD" 2>/dev/null; then
    echo OK
else
    echo "Wrong password"
fi

但是没有密码短语选项,它将如何检查它的有效性?仔细查看PHP文档后,我认为您需要
openssl\u pkey\u get\u private
,它将密码和.pem文件都作为参数。对于
openssl
(当然,您似乎正在尝试使用PHP),请使用
passin
参数尝试
openssl rsa-in-keyfile.pem
。对于正确的密码,没有输出,对于错误的密码,则有错误。对于密码读取,我使用
read-s-p“password:”password