El intercambio de certificados TLS puede tener un formato incorrecto

3

Cuando intento conectarme a xxx, obtengo errores de certificado. Una aplicación Java heredada no reconoce el certificado en absoluto, y FileZilla dice que se está enviando en el orden incorrecto. Cuando me envían el certificado, parece correcto, así que asumo que el problema es cómo se transmite durante el protocolo de enlace TLS. No puedo encontrar una aplicación que descargue el flujo completo, así que no puedo ver qué se está enviando exactamente. Aquí está el registro de FileZilla. Aumentar el nivel de registro no agrega ninguna información útil

Status: Resolving address of rxdatadirector.catamaranrx.com
Status: Initializing TLS...
Error: Server sent unsorted certificate chain in violation of the TLS specifications

Me estoy arrancando el pelo por esto. ¿Alguien puede ver cuál es el error con la negociación de conexión o estoy loco?

El producto FYI es un componente SFTP y FTPS de IBM Sterling Commerce

    
pregunta Rick DeBay 14.07.2017 - 21:07
fuente

1 respuesta

3

Dado que usas Filezilla, supongo que estás usando FTP. El siguiente comando se conecta al servidor FTP, se actualiza a TLS y le muestra, entre otras cosas, la cadena de certificados:

openssl s_client -starttls ftp -connect rxdatadirector.catamaranrx.com:21
CONNECTED(00000003)
...
Certificate chain
 0 s:/C=US/postalCode=55343/ST=Minnesota/L=Minnetonka/street=9900 Bren Road East/O=UnitedHealth Group Inc./OU=Enterprise SSL Pro/CN=rxdatadirector.catamaranrx.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
 1 s:/C=US/postalCode=55343/ST=Minnesota/L=Minnetonka/street=9900 Bren Road East/O=UnitedHealth Group Inc./OU=Enterprise SSL Pro/CN=rxdatadirector.catamaranrx.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Organization Validation Secure Server CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
 3 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 4 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root

Esto significa que este servidor primero envía el certificado del servidor [0], lo cual es correcto. Luego vuelve a enviar el certificado del servidor [1], lo cual es incorrecto. Luego envía el certificado intermedio [2] que emitió el certificado del servidor, que es correcto. Luego envía el siguiente certificado en cadena [3] que también es correcto. Pero luego envía la CA raíz [4] que no debería enviarse, pero generalmente se ignorará si se envía.

Por lo tanto, debes eliminar [1] y [4] y luego debería estar bien.

    
respondido por el Steffen Ullrich 14.07.2017 - 21:37
fuente

Lea otras preguntas en las etiquetas