Python 2.7.6 con openSSL 0.9.8 incapace di fare handshake con il sito supportato dal protocollo TLS

0

Ho un requisito in cui ho bisogno di effettuare chiamate al sito Web abilitato SSL per l'elaborazione del gateway di pagamento dalla mia applicazione con python 2.7.6 con openSSL 0.9.8. Ma quando chiamo questo sito ottengo il seguente errore SSLError: [Errno 8] _ssl.c:507: EOF occurred in violation of protocol . Questo gateway di pagamento supporta solo TLS v1 e versioni successive e non SSL v2 e v3.

Quando eseguo il wirehark della richiesta / risposta seguo di seguito. La richiesta non si muove ulteriormente e si ferma lì. Non ricevo alcun messaggio Server Hello.

Hoprovatolostessoconun'applicazione.Neteilcollegamentofunzionaperfettamente.Hoincollatolarichiesta/rispostadaquellachiamataquisotto.QuiricevoancheunserverHelloetuttofunzionacomeunincantesimo.

Voglio farlo funzionare con python 2.7.6. Suppongo che ciò sia dovuto al protocollo SSL. Ma non sono in grado di aggiornare il mio openSSL e farlo funzionare. Che cosa ne fate un consiglio su questo.

    
posta Huzefa 10.08.2016 - 20:15
fonte

1 risposta

1

Secondo le immagini wireshark, il client .NET utilizza TLS 1.2 mentre il tuo programma Python utilizza TLS 1.0 con un handshake compatibile SSLv2. TLS 1.2 non è supportato con openssl 0.9.8. Il supporto per TLS 1.2 è stato aggiunto solo con OpenSSL 1.0.1. TLS 1.0 è supportato da openssl 0.9.8 ma non è noto se il gateway di pagamento supporta realmente TLS 1.0 poiché, a causa del requisito PCI, diversi gateway di pagamento richiedono TLS 1.2 ora.

But i am unable to upgrade my openSSL and get this working. What do you guys advice on this.

Se TLS 1.2 è richiesto dal gateway di pagamento che hai perso con la tua vecchia versione di OpenSSL. Se TLS 1.0 è possibile, è necessario vedere il codice per il client e come può essere modificato per non utilizzare un handshake compatibile con SSLv2 con TLS 1.0. Ma questa parte della domanda sarebbe quindi off-topic qui e on-topic su stackoverflow.com.

    
risposta data 10.08.2016 - 20:39
fonte

Leggi altre domande sui tag