Usando el indicador JVM
-Djavax.net.debug=ssl
está produciendo una enorme cantidad de registros, los detalles de cada evento SSL en el servidor. ¿Hay alguna forma de que solo registre errores? o posiblemente hay un subconjunto mejor de estas banderas que producen una salida más ordenada
all turn on all debugging
ssl turn on ssl debugging
The following can be used with ssl:
record enable per-record tracing
handshake print each handshake message
keygen print key generation data
session print session activity
defaultctx print default SSL initialization
sslctx print SSLContext tracing
sessioncache print session cache tracing
keymanager print key manager tracing
trustmanager print trust manager tracing
pluggability print pluggability tracing
handshake debugging can be widened with:
data hex dump of each handshake message
verbose verbose handshake message printing
record debugging can be widened with:
plaintext hex dump of record plaintext
packet print raw SSL/TLS packets
""
parece mostrar solo algunas advertencias.Respuestas:
El formato para usar las
ssl
banderas adicionales es,ssl:[flag]
por ejemplo:-Djavax.net.debug=ssl:record
o-Djavax.net.debug=ssl:handshake
.fuente
También encuentro que usar
-Djavax.net.debug=ssl
(o incluso sus filtros) es demasiado engorroso para depurar problemas de HTTPS.Es un poco complicado, pero lo que prefiero hacer es configurar mitmproxy en un servidor barato en algún lugar y luego configurar mis clientes Java para usarlo como proxy. De esta manera, puedo inspeccionar y reproducir cómodamente los flujos de solicitud / respuesta HTTPS en el proxy sin tener que revisar un montón de registros.
Si está interesado, he escrito una guía sobre cómo hacer esto: Depurar SSL en Java usando mitmproxy
fuente