https://easyengine.io/tutorials/linux/openssl-match-private-key-cert-csr/]
In a recent migration we came across a complete messed up server where SSL related keys, certificates and CSR are scattered all over.
We ran following openssl commands to match these three:
openssl req -noout -modulus -in server.csr | openssl md5
(stdin)= 395cb6f3a0def959d81f8f6a26d12749
openssl rsa -noout -modulus -in myserver.key | openssl md5
(stdin)= 395cb6f3a0def959d81f8f6a26d12749
openssl x509 -noout -modulus -in ssl-bundle.crt | openssl md5
(stdin)= 395cb6f3a0def959d81f8f6a26d12749
As you can see matching md5 indicated above triplet is a valid combo!
Make sure you use correct csr, key and crt file with respective openssl arguments.
Related: You may like this page about openssl commands.