jak wyświetlić zawartość certyfikatu .pem

130

Używam Java keytool. Wyeksportowałem .pemcertyfikat z podpisem własnym z mojego magazynu kluczy. Czy istnieje polecenie wyświetlenia szczegółów certyfikatu bezpośrednio z .pempliku (nie certyfikatu w magazynie kluczy)?

Ashwin
źródło
Portecle jest również do tego bardzo przydatny: portecle.sourceforge.net
endo64

Odpowiedzi:

135

Użyj -printcertpolecenia w ten sposób:

keytool -printcert -file certificate.pem
Drona
źródło
23
Otrzymuję błąd java.lang.Exception: Failed to parse input
maxisme
10
@Maximilian może się to zdarzyć na certyfikatach APNS, które łączą klucz prywatny i certyfikat w jeden .pem. Podziel je na 2 pliki za pomocą edytora tekstu, a powyższe polecenie zadziała. (Podpowiedź: skopiuj -- BEGIN CERTIFICATE --wiersz do -- END CERTIFICATE --wiersza do nowego pliku)
Raptor
1
potrzebuje java (jdk lub jre)
Pieter
Sprawdź nazwę swojego pliku PEM.
tksilicon
249

Alternatywą dla keytoolużywania jest polecenie

openssl x509 -in certificate.pem -text

Powinno to działać dla każdego pliku x509 .pem, pod warunkiem, że został opensslzainstalowany.

StampyCode
źródło
7
Właściwie keytoolbłędami się z java.lang.Exception: Failed to parse inputkilku PEMS, ale pracował dla nich wszystkich
Csaba Toth
Jeśli chcesz tylko aliasy:openssl x509 -in file.pem -text | grep -A 1 'Alternative Name'
qräbnö
2
W moim przypadku musiałem zmienić "x509" na "rsa", więc myślę, że to zależy od zawartości .pem. Użyłem filepolecenia, aby wiedzieć, że jest to „rsa”, a nie „x509” (np file xyz.pem.).
MegaTux
5
@megatux plik PEM może zawierać kilka różnych typów danych x509to format certyfikatów, rsato format pary kluczy publiczny / prywatny.
alfwatt