Como faço para corresponder um arquivo de certificado a um arquivo de chave?

8

Eu tenho um certificado SSL de que o antigo sysadmin foi emitido (arquivo crt.) Pesquisando no sistema de arquivos, encontrei vários arquivos .key. Como faço para corresponder o crt ao arquivo-chave e confirmar se eles correspondem? Este é o Ubuntu Server 11.10 com Apache2 modssl.

Malocchio
fonte

Respostas:

17

Compare o módulo dos arquivos.

Verifique a chave pública assim:

openssl x509 -in /path/to/cert.crt -noout -text

E verifique as chaves privadas como esta:

openssl rsa -in /path/to/cert.key -noout -text

Compare os dados do "módulo" (um grande bloco de números) entre o certificado e as chaves potencialmente correspondentes. Se eles corresponderem, a chave e o certificado são um par.

Shane Madden
fonte
6
+1; Você também pode usar em -modulusvez de -text- que produzirá apenas o módulo (mesmo resultado, mas possivelmente mais fácil de escrever uniq, etc).
56012 cyberx86
2
E o uso de hash para fazer comparações fáceis no olho: openssl x509 -in /path/to/cert.crt -noout -modulus | openssl md5eopenssl rsa -in /path/to/cert.key -noout -modulus | openssl md5
CJC
Bem, isso é muito útil. Pena que não consigo encontrar uma correspondência. Acho que é hora de comprar outro certificado. Pelo menos agora posso provar que a compra é necessária. Felicidades!
Malocchio
Encontrou a partida. Estava em um keystore java. Eu exportei para o formato PKC12 e foi tudo tranquilo a partir daí.
Malocchio