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

131

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

Ashwin
источник
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.

StampyCode
источник
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