我有一个OpenSSl证书.我还需要私钥.我被告知它位于服务器的某个地方,而且真的,我发现了多个SSL密钥文件.
在我通过强力尝试所有这些之前:如果使用私钥创建证书,有没有办法在终端上找到?
在线Apache文档中的经典参考是
this FAQ.
在该文件中,使用模数的md5,因为
As the public exponent is usually 65537 and it’s difficult to visually check that the long modulus numbers are the same,you can use the following approach
这给出了:
$openssl rsa -noout -modulus -in key.pem.decrypted | openssl md5 (stdin)= 9fxxfoobar558d9xx0045a89467d2bxx $openssl x509 -noout -modulus -in crt.pem | openssl md5 (stdin)= 9fxxfoobar558d9xx0045a89467d2bxx
我建议使用过程替换来避免模数的视觉比较:
$diff \ <(openssl x509 -noout -modulus -in cert.pem) \ <(openssl rsa -noout -modulus -in key.pem.decrypted)
如果输出为空,则私钥与证书匹配.
这只是比安德鲁舒尔曼的答案更方便的比较字符串的方式,当然,这也是有效的.
另一个参考here.