Sto provando a impostare un listener per verificare se un'applicazione verifica il certificato del server (presumo strongmente che non lo sia). Così ho creato un certificato autofirmato fake.pem
per un listener e sto provando a connettermi dall'applicazione.
socat openssl-listen:443,reuseaddr,cert=./fake.pem echo
I pacchetti che catturo in Wireshark sono
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'
Ho pensato che socat controlli solo l'opzione cafile
(almeno questo è quello che dice nella manpage). Effettua ulteriori controlli che potrei disattivare?
Potrebbero esserci altri buoni motivi per cui il lato server si lamenterebbe oltre a non un certificato valido dal client?