Chcę pobrać certyfikat ssl z, powiedzmy https://www.google.com , używając wget lub innych poleceń. Jakaś linia poleceń unix? wget czy openssl?
ssl
ssl-certificate
openssl
wget
RainDoctor
źródło
źródło
-showcerts
pokazuje również serwer / certyfikat certyfikatu? Myślałem, że wyświetla półprodukty tylko wtedy, gdy włączono ten przełącznik.s_client
zawsze pokazuje certyfikat serwera (jeśli taki istnieje, tzn. Serwer odpowiada cześć i nie wybiera anonimowego pakietu).-showcerts
pokazuje wszystkie otrzymane certyfikaty, najpierw certyfikat serwera, a następnie półprodukty i / lub root.Znalazłem odpowiedź Openssl zapewnia to.
źródło
openssl x509 -text <<EOF cert-text EOF
aby zobaczyć szczegóły certyfikatusudo rm -f cert.pem && sudo echo -n | openssl s_client -connect localhost:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ./cert.pem
dzięki uprzejmości serverfault.com/questions/139728/…sed
siekać.Gnutls narzędzie klienta,
gnutls-cli
można również zrobić to proste:Program został zaprojektowany w celu zapewnienia interaktywnego klienta w witrynie, więc musisz podać mu puste dane wejściowe (w tym przykładzie od
/dev/null
), aby zakończyć sesję interaktywną.źródło
w oparciu o odpowiedź @bignose, oto samodzielna wersja, która dobrze pasuje np. do przepisu szefa kuchni:
źródło
ten tryb openssl oczekuje stdin, więc zapewniamy go przez
true |
, to łączy się z serwerem określonym w parametrze -connect.2>/dev/null
wycisza błędy (opcjonalnie), możemy przekazać całe wyjście do parsera x509, określając/dev/stdin
użycie potoku powłoki jako pliku wejściowego. I że wyjście będzie tylko-----BEGIN CERTIFICATE-----
do-----END CERTIFICATE-----
częścis_client
produkcji. Możesz przekierować to do pliku, dodając> google.com.pem
na końcu polecenia.Jak najlepiej mogę powiedzieć, nie weryfikuje to łańcucha certyfikatów, może jedynie powiedzieć, jaką tożsamość ssl zapewnia serwer końcowy.
źródło
x509
domyślnie czyta stdin, więc-in /dev/stdin
jest redundantne (3)s_client
sprawdza, czy certyfikat serwera poprawnie łączy się z lokalną kotwicą zaufania (root) i jest nieaktualny, ale masz ukrył informacje, które by to pokazały (4), NIE sprawdza pod kątem odwołania (5) sprawdza nazwę w certyfikacie serwera tylko w wersji 1.0.2, a następnie domyślnie (ale można to łatwo sprawdzić, patrząc na certyfikat później)Alternatywna składnia z użyciem Ex i podstawienia procesu:
źródło