Inspektera ett webbplatscertifikat via en HTTP-proxy med OpenSSL
Använd OpenSSL s_client via en HTTP CONNECT-proxy och håll destinationsnamn, SNI och certifikatverifiering samordnade.
Använd en installerad OpenSSL s_client som stöder -proxy. För en auktoriserad HTTP CONNECT-slutpunkt:
openssl s_client -proxy proxy.example:3128 -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error -showcertsByt ut proxyadressen och använd det avsedda destinationsnamnet konsekvent. För att testa ett offentligt mål via en proxy som du får välja, välj en HTTP-kandidat från HTTP-proxylistan. -connect väljer målet, -servername skickar SNI för dess virtuella TLS-värd och -verify_hostname kontrollerar identiteten. SNI ensamt är inte verifiering av värdnamn. Läs handboken för den installerade versionen när du anpassar alternativen.
-showcerts visar vad servern skickade, men deklarerar inte att kedjan är betrodd. -verify_return_error gör att verifieringsfel avslutar handskakningen; annars kan diagnostikklienten fortsätta efter fel. Använd godkänt CA-material för en privat tjänst i stället för att lita på ett godtyckligt nedladdat certifikat.
| Resultat | Steg |
|---|---|
| 407 | Proxyautentisering före destinationens TLS. |
| Nekat CONNECT-mål | Proxyregel för destinationen. |
| Certifikat mottaget och verifiering försökt | Destinationens TLS-utbyte genom den accepterade tunneln. |
Med OpenSSL 3.x och en HTTP-proxy med Basic-autentisering använder du s_clients proxykontoalternativ samtidigt som destinationsverifieringen behålls.
En SOCKS-enbart-slutpunkt tillhandahåller inte det HTTP-proxygränssnitt som kommandot använder. Vid auktoriserad TLS-interception kan det visade certifikatet vara utfärdat av den mellanhanden. Jämför dess utfärdare och den avsedda förtroendeordningen innan du tillskriver skillnaden en trasig webbplats.