Mam certyfikat podmiotu końcowego / serwera, który ma certyfikat pośredni i główny. Kiedy jestem cat
na certyfikacie jednostki końcowej, widzę tylko jeden BEGIN
i END
tag. Jest to jedyny certyfikat podmiotu końcowego.
Czy jest jakiś sposób, aby wyświetlić zawartość certyfikatu pośredniego i głównego? Potrzebuję tylko treści BEGIN
i END
tagu.
W Windows widzę pełny łańcuch certyfikatów z „Ścieżki certyfikacji”. Poniżej znajduje się przykład certyfikatu Stack Exchange.
Stamtąd mogę wykonać Wyświetl certyfikat i wyeksportować je. Mogę to zrobić zarówno dla użytkownika root, jak i pośredniego w systemie Windows. Szukam tej samej metody w systemie Linux.
openssl
ssl
certificates
Anirban Nag „tintinmj”
źródło
źródło
Odpowiedzi:
Ze strony internetowej możesz:
To pokaże łańcuch certyfikatów i wszystkie certyfikaty przedstawione przez serwer.
Teraz, jeśli zapiszę te dwa certyfikaty w plikach, mogę użyć
openssl verify
:-untrusted
Opcja jest używany w celu certyfikat pośredni (y);se.crt
to certyfikat do weryfikacji. Wynik głębokość = 2 pochodzi z zaufanego systemu urzędu certyfikacji.Jeśli nie masz certyfikatów pośrednich, nie możesz przeprowadzić weryfikacji. Tak właśnie działa X.509.
W zależności od certyfikatu może on zawierać identyfikator URI, z którego można uzyskać półprodukt. Jako przykład
openssl x509 -in se.crt -noout -text
zawiera:Ten identyfikator URI „wystawców urzędów certyfikacji” wskazuje na pośredni certyfikat (w formacie DER, więc musisz
openssl x509 -inform der -in DigiCertSHA2HighAssuranceServerCA.crt -out DigiCertSHA2HighAssuranceServerCA.pem
go przekonwertować do dalszego wykorzystania przez OpenSSL).Jeśli uruchomisz
openssl x509 -in /tmp/DigiCertSHA2HighAssuranceServerCA.pem -noout -issuer_hash
, otrzymasz244b5494
, którego możesz szukać w głównym systemie CA w sklepie/etc/ssl/certs/244b5494.0
(wystarczy dołączyć.0
do nazwy).Nie sądzę, że istnieje łatwa, łatwa komenda OpenSSL, która zrobi to wszystko za Ciebie.
źródło
BEGIN
iEND
(które otrzymasz pocat
samym pobraniu pliku .crt.openssl x509 -in file.crt -noout -text
BEGIN
aEND
.openssl x509
poleceniem, nie sądzę, że istnieje certyfikat pośredni. (Chyba że masz jakiś błądopenssl x509
).tl; dr - jedna magia linijki, aby zrzucić wszystkie certyfikaty w łańcuchu
Objaśnienie w 2 krokach
Aby zrzucić wszystkie certyfikaty w łańcuchu do bieżącego katalogu jako
cert${chain_number}.pem
:bonus-track, aby zmienić ich nazwy na ich wspólną nazwę:
źródło