====== Compare a Key with its Certificate ====== Credit for this example goes to "[[https://kb.wisc.edu/middleware/page.php?id=4064|Verifying that a Private Key Matches a Certificate]]" from the [[https://kb.wisc.edu/|University of Wisconsin Knowledgebase]]. To see if a key ''server.key'' belongs to the certificate ''server.crt'', they need to have the same "modulus" and "exponent". openssl x509 -noout -text -in server.crt openssl rsa -noout -text -in server.key The exponent is quite always 65537. So we only need to compare the modulus. openssl x509 -noout -modulus -in server.crt openssl rsa -noout -modulus -in server.key Example: $ openssl x509 -noout -modulus -in server.cer Modulus=C8B04B9D50386C0B22296B181046712B83DB624DA4AA9B9CA78453DC78DA26D2295FDF79 A544CBF8013138FB0EDFD8F0CB13E2FBF8883263442AEA549450737360A2C4F607D2E4DADEA3E501 15DA6315BA3829A2F3E5D87293835D3F909234541F508FCFED435CCCD73880A6BCC488ABB8C6F3D8 0E55F5DC528AE325D007CC3489603668506BD77B555D0B5FAAFC671D96E36FEBE1250707E36B798B 5F993225311D3F2BB358BF382ECBBE4D87068AE2282F1FC3B7A382A6883871C9CD137683105D552C 5E4E19D9F6263D85697AC85B41C71F327F4E467DDA61E72053FDAD9594C71AC7F2B63AAC749D461C 7F4699C901C2F8987CC873703FC3932640354D63 $ openssl rsa -noout -modulus -in server.key Enter pass phrase for server.key: Modulus=C8B04B9D50386C0B22296B181046712B83DB624DA4AA9B9CA78453DC78DA26D2295FDF79 A544CBF8013138FB0EDFD8F0CB13E2FBF8883263442AEA549450737360A2C4F607D2E4DADEA3E501 15DA6315BA3829A2F3E5D87293835D3F909234541F508FCFED435CCCD73880A6BCC488ABB8C6F3D8 0E55F5DC528AE325D007CC3489603668506BD77B555D0B5FAAFC671D96E36FEBE1250707E36B798B 5F993225311D3F2BB358BF382ECBBE4D87068AE2282F1FC3B7A382A6883871C9CD137683105D552C 5E4E19D9F6263D85697AC85B41C71F327F4E467DDA61E72053FDAD9594C71AC7F2B63AAC749D461C 7F4699C901C2F8987CC873703FC3932640354D63 It's easier to compare them if you calculate a MD5 sum: openssl x509 -noout -modulus -in server.crt | openssl md5 openssl rsa -noout -modulus -in server.key | openssl md5 Example: $ openssl x509 -noout -modulus -in server.cer | openssl md5 (stdin)= 91cc0cf512b528689960a9fbd42bdabe $ openssl rsa -noout -modulus -in server.key | openssl md5 Enter pass phrase for server.key: (stdin)= 91cc0cf512b528689960a9fbd42bdabe {{tag>openssl cryptography key certificate howto}}