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 -showcerts

Zastą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.

WynikEtap
407Uwierzytelnianie proxy przed TLS celu.
Odrzucony cel CONNECTPolityka celu proxy.
Certyfikat odebrany i podjęto próbę weryfikacjiWymiana 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.

Powiązane artykuły