Tengo una aplicación cliente-servidor, que se ejecuta correctamente en mi local. Sin embargo, cuando lo implemento en el entorno de producción, lo que significa que el servidor se implementa en una máquina remota, el protocolo SSL falla. Lo siguiente es lo que obtengo de openssl:
openssl s_client -msg -tls1_2 -connect <host>:<port> -CAfile <pem file>
C->S: TLS 1.2 Handshake [length 0122], ClientHello
S->C: TLS 1.2 Handshake [length 0051], ServerHello
S->C: TLS 1.2 Handshake [length 0335], Certificate
depth=1 C = US, ST = Unknown, L = Unkown, O = Unknown, OU = Unknown, CN = QATestCA
verify return:1
depth=0 C = US, ST = Unknown, O = Unknown, CN = d-linux64-07
verify return:1
S->C: TLS 1.2 Handshake [length 019d], ServerKeyExchange
S->C: TLS 1.2 Handshake [length 0004], ServerHelloDone
C->S: TLS 1.2 Handshake [length 0096], ClientKeyExchange
C->S: TLS 1.2 ChangeCipherSpec [length 0001]
C->S: TLS 1.2 Handshake [length 0010], Finished
write:errno=104
Como puede ver, el servidor no devuelve ChangeCipherSpec al cliente y obtuve la excepción de Restricción de conexión en mi aplicación. ¿Alguien sabe qué está mal aquí?
¡Gracias!