Python 2.7.6 con openSSL 0.9.8 no se puede agitar directamente con el sitio compatible con el protocolo TLS

0

Tengo un requisito donde necesito hacer llamadas al sitio web habilitado para SSL para procesar la pasarela de pago desde mi aplicación con python 2.7.6 con openSSL 0.9.8. Pero cuando llamo a este sitio web, obtengo el siguiente error SSLError: [Errno 8] _ssl.c:507: EOF occurred in violation of protocol . Esta pasarela de pago solo es compatible con TLS v1 y superior y no con SSL v2 y v3.

Cuando conecto la solicitud / respuesta, obtengo los siguientes datos a continuación. La solicitud no se mueve más y se detiene ahí. No recibo ningún mensaje del servidor.

Heintentadolomismoconunaaplicación.Netyelenlacefuncionaperfectamente.Hepegadolasolicitud/respuestadeesallamadaacontinuación.AquítambiénobtengounservidorHolaytodofuncionaalaperfección.

Quiero que esto funcione con python 2.7.6. Supongo que esto se debe al protocolo SSL. Pero no puedo actualizar mi openSSL y hacer que esto funcione. ¿Qué es lo que ustedes aconsejan sobre esto?

    
pregunta Huzefa 10.08.2016 - 20:15
fuente

1 respuesta

1

De acuerdo con las imágenes de wirehark, el cliente .NET está utilizando TLS 1.2, mientras que su programa Python usa TLS 1.0 con un protocolo de enlace compatible con SSLv2. TLS 1.2 no es compatible con openssl 0.9.8. El soporte para TLS 1.2 solo se agregó con OpenSSL 1.0.1. TLS 1.0 es compatible con openssl 0.9.8, pero no se sabe si la pasarela de pago realmente es compatible con TLS 1.0, ya que, debido al requisito de PCI, varias pasarelas de pago requieren ahora TLS 1.2.

  

Pero no puedo actualizar mi openSSL y hacer que esto funcione. ¿Qué es lo que ustedes aconsejan sobre esto?

Si TLS 1.2 es requerido por la pasarela de pago que perdió con su antigua versión de OpenSSL. Si es posible TLS 1.0, uno necesitaría ver el código para su cliente y cómo se puede cambiar para no usar un protocolo de enlace compatible con SSLv2 con TLS 1.0. Pero esta parte de la pregunta estaría fuera de tema aquí y en tema en stackoverflow.com.

    
respondido por el Steffen Ullrich 10.08.2016 - 20:39
fuente

Lea otras preguntas en las etiquetas