Sprawdź certyfikat witryny przez proxy HTTP za pomocą OpenSSL
Użyj OpenSSL s_client przez proxy HTTP CONNECT i zachowaj zgodność nazwy celu, SNI oraz weryfikacji certyfikatu.
Użyj zainstalowanego OpenSSL s_client obsługującego -proxy. Dla autoryzowanego punktu końcowego HTTP CONNECT:
openssl s_client -proxy proxy.example:3128 -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error -showcertsZastąp adres proxy i konsekwentnie używaj zamierzonej nazwy celu. Aby przetestować publiczny cel przez proxy, które możesz wybrać, wybierz kandydata HTTP z listy proxy HTTP. -connect wybiera cel, -servername wysyła SNI dla jego wirtualnego hosta TLS, a -verify_hostname sprawdza tożsamość. Samo SNI nie jest weryfikacją nazwy hosta. Podczas dostosowywania opcji sprawdź podręcznik zainstalowanej wersji.
-showcerts wyświetla to, co wysłał serwer, a nie deklaruje, że łańcuch jest zaufany. -verify_return_error powoduje zakończenie handshake’u przez błędy weryfikacji; w przeciwnym razie klient diagnostyczny może kontynuować po błędach. W przypadku prywatnej usługi użyj zatwierdzonego materiału CA zamiast ufać losowo pobranemu certyfikatowi.
| Wynik | Etap |
|---|---|
| 407 | Uwierzytelnianie proxy przed TLS celu. |
| Odrzucony cel CONNECT | Polityka celu proxy. |
| Certyfikat odebrany i podjęto próbę weryfikacji | Wymiana TLS celu przez zaakceptowany tunel. |
W OpenSSL 3.x i przy proxy HTTP z uwierzytelnianiem Basic użyj opcji konta proxy s_client, zachowując weryfikację celu.
Punkt końcowy obsługujący wyłącznie SOCKS nie udostępnia interfejsu proxy HTTP używanego przez to polecenie. Przy autoryzowanym przechwytywaniu TLS wyświetlany certyfikat może być wystawiony przez tego pośrednika. Porównaj jego wystawcę i zamierzony układ zaufania, zanim przypiszesz różnicę uszkodzonej witrynie.