No se envió certificado de cliente con SSL de 2 vías: configuración de Tomcat

0

Estoy tratando de configurar una autenticación de cliente (para autenticación mutua) entre 2 tomcats pero en este punto, me quedo con la idea de que mi cliente no envía su certificado. Tengo una CA privada, por lo que no tengo ningún certificado autofirmado en la configuración

Aquí está lo que está configurado hasta ahora:

1) Tomcat A (que será alcanzado por Tomcat B) = servidor de juegos:

  • Tiene un almacén de claves con su certificado (clave privada + certificado)
  • Tiene un almacén de confianza con certificados públicos de Root CA y Tomcat B

2) Tomcat B (que llegará a Tomcat A) = reproduce el cliente:

  • Tiene un almacén de claves con su certificado (clave privada + certificado)
  • Tiene un trustore con certificados públicos de RootCA y Tomcat A

Todos los certificados son emitidos por la CA raíz y se pueden usar para la autenticación del cliente y del servidor

Los Tomcats están configurados con la siguiente etiqueta de conector

<Connector port="8443" 
protocol="org.apache.coyote.http11.Http11NioProtocol" 
SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS" 
clientAuth="true" 
keystoreFile="keystore.jks" keystorePass="xxxx" keyAlias="myAlias" 
truststoreFile="truststore.jks" truststorePass="xxx" />

Diagnóstico hasta ahora

  • La aplicación devuelve un "error grave: certificado incorrecto"
  • Seguimiento de Wireshark:

    1. B envía un "Cliente Hola"
    2. A envía un "Hola servidor, Certificado, Intercambio de claves de servidor, Solicitud de certificado, Hola del servidor"
    3. B envía un "Certificado, intercambio de claves de cliente"
    4. A envía una "Alerta (Nivel: Fatal, Descripción: Certificado incorrecto)

Más detalles sobre:

  • Paso 2: en el marco, específicamente en el "Protocolo de protocolo de enlace: servidor Hola", puedo ver "Extensión: renegotiation_info" (incluso si se reinicia Tomcat)
  • Paso 3: en el marco, específicamente en el "Protocolo de protocolo de enlace: certificado", puedo ver "Longitud de los certificados: 0"

Este último punto me hace pensar que el certificado del cliente (certificado B) no envía el certificado.

Preguntas:

  1. ¿Cómo puedo verificar / verificar que el certificado esté bien enviado?
  2. ¿Cómo puedo solucionar la situación?
pregunta el_grom 16.04.2018 - 09:27
fuente

0 respuestas

Lea otras preguntas en las etiquetas