¿cómo hacer que socat ignore el certificado del cliente?

7

Estoy intentando configurar un escucha para verificar si una aplicación verifica el certificado del servidor (supongo que no lo está). Así que he creado un certificado autofirmado fake.pem para un oyente y estoy tratando de conectarme desde la aplicación.

socat openssl-listen:443,reuseaddr,cert=./fake.pem echo

Los paquetes que capturo en Wireshark son

Client (C) -> Server(S): SYN
S->C: SYN-ACK
C->S: ACK
C->S: sClient Hello
S->C: ACK
S->C: Server Hello, Certificate, Server Key Exchange, Certificate Request, Server Hello Done
C->S: Certificate, Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
S->C: Alert (Level: Fatal, Description: handshake Failure)
S->C: RST ACK'

Pensé que socat solo compara con la opción cafile (al menos eso es lo que dice la página del manual). ¿Realiza comprobaciones adicionales que podría deshabilitar?

¿Podría haber otras buenas razones por las que el lado del servidor se quejaría además de no ser un certificado válido del cliente?

    
pregunta user857990 11.06.2013 - 13:15
fuente

1 respuesta

9

El problema fue la parte certificate request . La aplicación cliente no envió ningún certificado y si la opción verify=0 se agrega al oyente de socat, funciona bien. verify se establece en Verdadero de manera predeterminada.

    
respondido por el user857990 11.06.2013 - 14:08
fuente

Lea otras preguntas en las etiquetas