Zapisz zdalny certyfikat SSL za pomocą wiersza polecenia systemu Linux


28

Czy potrafisz wymyślić jakąkolwiek metodę linuksową do zapisywania certyfikatu przedstawionego przez serwer HTTPS? Coś w stylu curl / wget / openssl tworzy połączenie SSL i zapisuje certyfikat zamiast treści odpowiedzi HTTP.

Odpowiednikiem GUI dla tego, czego szukam, byłoby przejście do strony HTTPS, dwukrotne kliknięcie ikony „bezpieczna strona” przeglądarki i wyeksportowanie certyfikatu. Oprócz tego, że celem jest zrobienie tego w sposób nieinteraktywny.

Dzięki, Jim

Odpowiedzi:


40

Coś jak:

openssl s_client -servername remote.server.net -connect remote.server.net:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/path/to/certificate.pem

Tego właśnie używam z fetchmailem, aby pobrać certyfikat serwera IMAP lub POP3 obsługującego SSL (oczywiście, że nie używam portu 443)

(Należy pamiętać, że -servernameparametr „redundantny” jest konieczny, aby opensslwykonać żądanie z obsługą SNI.)


1
Jest jakiś sposób na uzyskanie pełnego łańcucha?
Collin Anderson,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.