Inspecciona el certificado de un sitio web a través de un proxy HTTP con OpenSSL
Usa OpenSSL s_client a través de un proxy HTTP CONNECT y mantén alineados el nombre de destino, SNI y la verificación del certificado.
Usa un OpenSSL s_client instalado que admita -proxy. Para un endpoint HTTP CONNECT autorizado:
openssl s_client -proxy proxy.example:3128 -connect example.com:443 -servername example.com -verify_hostname example.com -verify_return_error -showcertsSustituye la dirección del proxy y usa de forma coherente el nombre de destino previsto. Para probar un destino público mediante un proxy que puedas elegir, selecciona un candidato HTTP de la lista de proxies HTTP. -connect selecciona el objetivo, -servername envía SNI para su host virtual TLS y -verify_hostname comprueba la identidad. SNI por sí solo no verifica el nombre de host. Consulta el manual de la versión instalada al adaptar las opciones.
-showcerts muestra lo que envió el servidor, no declara que la cadena sea de confianza. -verify_return_error hace que los errores de verificación terminen el handshake; de lo contrario, el cliente de diagnóstico puede continuar después de los errores. Usa material de CA aprobado para un servicio privado en lugar de confiar en un certificado descargado al azar.
| Resultado | Fase |
|---|---|
| 407 | Autenticación del proxy antes del TLS del destino. |
| Destino CONNECT denegado | Política de destino del proxy. |
| Certificado recibido y verificación intentada | Intercambio TLS del destino a través del túnel aceptado. |
Con OpenSSL 3.x y un proxy HTTP que autentica con Basic, usa las opciones de cuenta de proxy de s_client manteniendo la verificación del destino.
Un endpoint solo SOCKS no proporciona la interfaz de proxy HTTP que usa este comando. Con interceptación TLS autorizada, el certificado mostrado puede haber sido emitido por ese intermediario. Compara su emisor y la relación de confianza prevista antes de atribuir la diferencia a un sitio web defectuoso.