Inspeccionar o certificado dun sitio web mediante un proxy HTTP con OpenSSL
Usa OpenSSL s_client mediante un proxy HTTP CONNECT e mantén aliñados o nome do destino, SNI e a verificación do certificado.
Usa un OpenSSL s_client instalado que admita -proxy. Para un extremo HTTP CONNECT autorizado:
openssl s_client -proxy proxy.example:3128 -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error -showcertsSubstitúe o enderezo do proxy e usa de forma coherente o nome de destino previsto. Para probar un destino público a través dun proxy que poidas escoller, selecciona un candidato HTTP de a lista de proxies HTTP. -connect selecciona o obxectivo, -servername envía SNI para o seu host virtual TLS e -verify_hostname comproba a identidade. SNI por si só non verifica o nome do host. Consulta o manual da versión instalada ao adaptar as opcións.
-showcerts mostra o que enviou o servidor, non declara que a cadea sexa de confianza. -verify_return_error fai que os erros de verificación rematen o handshake; doutro xeito, o cliente de diagnóstico pode continuar despois dos erros. Para un servizo privado, utiliza material de CA aprobado en vez de confiar nun certificado descargado ao azar.
| Resultado | Fase |
|---|---|
| 407 | Autenticación do proxy antes do TLS do destino. |
| Destino CONNECT denegado | Política de destino do proxy. |
| Certificado recibido e verificación intentada | Intercambio TLS do destino a través do túnel aceptado. |
Con OpenSSL 3.x e un proxy HTTP con autenticación Basic, usa as opcións de conta do proxy de s_client mantendo a verificación do destino.
Un extremo só SOCKS non ofrece a interface de proxy HTTP que usa este comando. Con interceptación TLS autorizada, o certificado mostrado pode ser emitido por ese intermediario. Compara o seu emisor e a relación de confianza prevista antes de atribuír a diferenza a un sitio web avariado.