HOWTO · Java
Cómo limitar el registro de depuración de Java SSL
Hoy aprenderemos sobre la depuración de Java SSL, su importancia, varias utilidades y cómo usar una o varias en un solo comando.
En esta página
El registro de depuración de Java SSL/TLS puede revelar detalles del handshake, los certificados y los registros cuando una conexión falla. Puede ayudar a acotar qué está haciendo la JVM, pero es posible que no identifique problemas fuera del intercambio TLS.
Por qué el registro de depuración de Java SSL ayuda a solucionar problemas de conexión
Establezca la propiedad del sistema javax.net.debug al iniciar la JVM. El argumento amplio -Djavax.net.debug=ssl habilita los diagnósticos relacionados con SSL y puede producir una gran cantidad de salida, así que úselo para una investigación focalizada y revise los registros antes de compartirlos. Los registros detallados de conexión pueden contener información sensible.
Agregue el argumento a las opciones de JVM de su aplicación. En el caso de un servidor de aplicaciones, actualice su configuración de inicio y reinicie el servidor; cambiar la opción no afecta a una JVM que ya está en ejecución.
Limitar el registro de depuración de Java SSL con especificadores de depuración
Para acotar los diagnósticos, agregue un especificador al valor de la propiedad. Por ejemplo, -Djavax.net.debug=ssl:handshake solicita diagnósticos del handshake SSL. Una forma con varios especificadores es -Djavax.net.debug=ssl:handshake,record,session. Estas son formas representativas: los especificadores, separadores y detalles admitidos pueden variar entre los entornos de ejecución de Java. Consulte la documentación de la JVM que ejecuta si una opción no se reconoce o no produce el nivel de detalle esperado.
Los siguientes especificadores proporcionados describen áreas de diagnóstico comunes. La disponibilidad y la cantidad de detalle pueden diferir según el entorno de ejecución; all puede ser especialmente ruidoso.
| Especificador de depuración | Propósito de diagnóstico |
|---|---|
all |
Depuración amplia en todas las áreas admitidas. |
ssl |
Depuración relacionada con SSL/TLS. |
record |
Rastreo a nivel de registro; útil al investigar datos del protocolo. |
handshake |
Rastreo de mensajes de handshake. |
keygen |
Detalles de generación de claves. |
session |
Actividad de la sesión. |
defaultctx |
Inicialización del contexto SSL predeterminado. |
sslctx |
Rastreo del contexto SSL. |
sessioncache |
Actividad de la caché de sesiones. |
keymanager |
Actividad del administrador de claves. |
trustmanager |
Actividad del administrador de confianza. |
data |
Datos hexadecimales de los mensajes de handshake, cuando se admite. |
verbose |
Salida de mensajes de handshake más detallada, cuando se admite. |
plaintext |
Datos de registro en texto plano, cuando se admite. Trate esta salida como sensible. |
packet |
Detalles de paquetes SSL/TLS sin procesar, cuando se admite. |
Comience con el especificador más acotado que se ajuste a la pregunta y luego elimine la opción de JVM cuando la investigación esté completa. Estos argumentos de inicio de la JVM son ejemplos de configuración, y no se proporciona evidencia de ejecución sobre su comportamiento en tiempo de ejecución ni su salida.