Как сопоставить файл сертификата с файлом ключа?

8

У меня есть сертификат SSL, что был выпущен бывший системный администратор (файл crt.) При поиске в файловой системе я нашел несколько файлов .key. Как мне сопоставить crt с файлом ключа и подтвердить, что они совпадают? Это Ubuntu Server 11.10 с Apache2 modssl.

Malocchio
источник

Ответы:

17

Сравните модуль файлов.

Проверьте открытый ключ следующим образом:

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

И проверьте закрытые ключи следующим образом:

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

Сравните данные «модуля» (большой блок чисел) между сертификатом и потенциально совпадающими ключами. Если они совпадают, то ключ и сертификат являются парой.

Шейн Мэдден
источник
6
+1; Вы также можете использовать -modulusвместо -text- который будет выводить только модуль (тот же результат, но, возможно, проще для сценариев uniq, и т. Д.).
cyberx86
2
И используйте хеширование для упрощения сравнения глазного яблока: openssl x509 -in /path/to/cert.crt -noout -modulus | openssl md5иopenssl rsa -in /path/to/cert.key -noout -modulus | openssl md5
cjc
Ну, это очень удобно. Жаль, что я не могу найти соответствие. Думаю, пришло время купить еще один сертификат. По крайней мере, теперь я могу доказать, что покупка необходима. Ура!
Малоккио
Нашел совпадение. Это было в хранилище ключей Java. Я экспортировал в формат PKC12, и оттуда все было гладко.
Малоккио