как просмотреть содержимое сертификата .pem


131

Я использую Java keytool. Я экспортировал самозаверяющий .pemсертификат из своего хранилища ключей. Есть ли команда для просмотра сведений о сертификате непосредственно из .pemфайла (а не сертификата в хранилище ключей)?


Portecle также очень полезен для этого: portecle.sourceforge.net
endo64

Ответы:


137

Используйте такую -printcertкоманду:

keytool -printcert -file certificate.pem

23
Я получаю сообщение об ошибке java.lang.Exception: Failed to parse input
maxisme

10
@Maximilian это может произойти с сертификатами APNS, которые объединяют закрытый ключ и сертификат в один .pem. Разделите их на 2 файла с помощью текстового редактора, и приведенная выше команда будет работать. (Подсказка: скопируйте -- BEGIN CERTIFICATE --строку в -- END CERTIFICATE --строку в новый файл)
Raptor

1
нужна java (jdk или jre)
Питер

Проверьте имя вашего pem-файла.
tksilicon

250

В качестве альтернативы использованию keytoolвы можете использовать команду

openssl x509 -in certificate.pem -text

Это должно работать с любым установленным вами файлом x509 .pem openssl.


7
На самом деле, keytoolу java.lang.Exception: Failed to parse inputнекоторых пэмов были ошибки, но это сработало для всех
Csaba Toth

Если вам нужны только псевдонимы:openssl x509 -in file.pem -text | grep -A 1 'Alternative Name'
qräbnö

2
В моем случае мне пришлось заменить «x509» на «rsa», так что я думаю, это зависит от содержимого .pem. Я использовал fileкоманду, чтобы узнать, что это «rsa», а не «x509» (например file xyz.pem).
MegaTux

5
@megatux файл PEM может содержать несколько разных типов данных x509- это формат сертификатов, rsaэто формат пары открытого / закрытого ключей.
alfwatt 07
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.