Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

475
Visualizações
Habilite el registro de fallas de protocolo de enlace SSL (registros de propósito de auditoría) solo en Tomcat 8+ con Java

Necesito iniciar sesión si falla un protocolo de enlace SSL mientras un cliente REST intenta conectarse a mi aplicación. La aplicación se crea con Spring Boot y Java 8 y se implementa en Tomcat 8.

En el caso de que falle el protocolo de enlace SSL, dado que la conexión TLS está interrumpida, es posible que el requisito de registro deba realizarse en la capa de Tomcat o en Java, ya que, en mi caso, Tomcat utiliza JVM subyacente para la validación del certificado SSL.

 <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" scheme="https" secure="true" keystoreFile="keyStore-1.jks" keystorePass="password" keystoreType="jks" truststoreFile="TrustStore.jks" truststorePass="passwrd" truststoreType="jks" clientAuth="want" sslProtocol="TLSv1.2" />

Soy consciente de habilitar el registro de nivel de depuración.

-Djavax.net.debug=ssl

Pero esto registra mucha información y ralentizará el proceso. Y registre también las validaciones SSL exitosas. ¿Hay alguna manera de habilitar los casos de falla solos con registros mínimos a nivel de Java o Tomcat?

NO estoy viendo esto desde una perspectiva de depuración, ya que los registros de depuración de SSL son muy buenos para eso. Este requisito tiene más un propósito de registro y auditoría y habilitar los registros de depuración no es una opción factible. Un mecanismo que registra solo los errores que ocurren en SSL y no todos los datos hexadecimales/certificados.

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Desafortunadamente, no es posible probable. Y no está relacionado con Tomcat. El registro de SSL no forma parte del registro estándar en su aplicación. Puede intentar reducir la salida con la siguiente opción:

 -Djava.net.debug=handshake

Algunos otros:

  • registro: imprima un seguimiento de cada registro SSL (a nivel de protocolo SSL).
  • apretón de manos: imprime cada mensaje de apretón de manos tal como se recibe
  • keygen: imprime datos de generación de claves para el intercambio de claves secretas.
  • session - Imprime la actividad de la sesión SSL.
  • defaultctx: imprime la información de inicialización SSL predeterminada.
  • sslctx: imprime información sobre el contexto SSL.
  • sessioncache: imprime información sobre la caché de la sesión SSL.
  • keymanager: imprime información sobre las llamadas al administrador de claves.
  • trustmanager: imprime información sobre las llamadas al administrador de confianza.
  • datos: para el seguimiento del protocolo de enlace, imprima un volcado hexadecimal de cada mensaje.
  • detallado: para el seguimiento del protocolo de enlace, imprima información detallada.
  • texto sin formato: para el seguimiento de registros, imprima un volcado hexadecimal del registro.

Ver documentos .

Si realmente necesita esto y el rendimiento es fundamental para su aplicación, puede instrumentar SSLSocket (en los documentos puede leer sobre el proceso de negociación) con ASM / Btrace /etc y verificar el estado de la negociación dentro de él. Pero en ese caso, no tendría información de depuración, solo verdadero/falso.

Consulte también los documentos de Tomcat con todas las configuraciones disponibles. Allí puede leer que existe la clase JSSEImplementation , que se usa en Tomcat. Y es contenedor para JSSE.

about 4 years ago · Santiago Trujillo Relatório

0

Tuve el mismo problema muchas veces y lo resolví de la siguiente manera. Tuve la configuración de mi proyecto en intelliJ.

  1. establezca el nivel de depuración de la opción de VM: -Djavax.net.debug=all (Editar configuraciones->Opciones de VM) guarde y aplique.
  2. Ejecute el proyecto (aplicación) en modo de depuración y verifique las llamadas entre el servidor y el cliente. encontrará que habrá una llamada CertificateRequest adicional del servidor al cliente en la consola, como se muestra a continuación, por ejemplo.

*** Solicitud de certificado Tipos de certificado: RSA, DSS, ECDSA Algoritmos de firma compatibles: SHA512 con RSA, Desconocido (hash: 0x6, firma: 0x2), SHA512 con ECDSA, SHA384 con RSA, Desconocido (hash: 0x5, firma: 0x2), SHA384 con ECDSA, SHA256 con RSA, Desconocido ( hash:0x4, firma:0x2), SHA256withECDSA, SHA224withRSA, Desconocido (hash:0x3, firma:0x2), SHA224withECDSA, SHA1withRSA, SHA1withDSA, SHA1withECDSA Autoridades de certificación:

CN=Symantec Public Class 3, O=Symantec Corporation, C=US

CN=Symantec Class 3 Manage, OU=Red de confianza de Symantec, O=Symantec, C=US

[leer] hashes MD5 y SHA1: len = 302

  1. Si puede ver la solicitud de certificado con "CN" como se indica arriba, significa que le faltan estos certificados en el almacén de claves cacert.

Solución: agregue los certificados faltantes (para nuestro ejemplo, dos certificados CN=Symantec Public Class 3 y CN=Symantec Class 3 Manage).

tenemos que entender las llamadas entre el servidor y el cliente por el protocolo SSL, consulte el siguiente enlace para obtener más información sobre cómo se comunican el servidor y el cliente.

https://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#InstallProbs

Daré una demostración de video de YouTube si alguien tiene un problema.

Espero que esta solución ayude a alguien.

Gracias.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda