A referência clássica para isso é esta FAQ nos documentos on-line do Apache.
Nesse documento, um md5
do módulo é usado porque
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
Isso dá:
$ openssl rsa -noout -modulus -in key.pem.decrypted | openssl md5
(stdin)= 9fxxfoobar558d9xx0045a89467d2bxx
$ openssl x509 -noout -modulus -in crt.pem | openssl md5
(stdin)= 9fxxfoobar558d9xx0045a89467d2bxx
Estou propondo o uso de substituição de processo para evitar a comparação visual do módulo:
$ diff \
<(openssl x509 -noout -modulus -in cert.pem) \
<(openssl rsa -noout -modulus -in key.pem.decrypted)
Se a saída estiver vazia, a chave privada corresponderá ao certificado.
Esta é apenas uma maneira mais conveniente de comparar as cordas do que a da resposta de Andrew Schulman, que também é válida.
Outra referência aqui .