2014-10-08 63 views
0

正如标题所述。我可以用p12证书的php openssl_pkcs12_read轻松验证密码,但它似乎没有类似于pems的函数。也许这是不可能与pems做到这一点?如何验证首席证书的密码

回答

1

你试过了php的openssl_x509_readHere

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

+0

但没有密码选项,它将如何检查它是有效的? – bargoras 2014-10-08 09:05:53

+0

在看了一下PHP文档后,我想你需要'openssl_pkey_get_private',它将密码和.pem文件作为参数。对于'openssl'(它肯定会出现你试图坚持使用PHP,但是),请用'passin'参数尝试'openssl rsa -in keyfile.pem'。 – ice13berg 2014-10-10 06:27:35

1

试试这个,如果你不介意的密码是在命令行和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