मुझे हाल ही में पारस्परिक रूप से प्रमाणीकृत एसएसएल के साथ एक टीएलएसवी 1.2 कनेक्शन समाप्त करना पड़ा और यह वेनिला 2.7.8 पर नहीं था। मैं अपने नेटवर्क i/o गहन अनुप्रयोग को पाइथन 3 पर दर्दनाक रूप से पोर्ट करना शुरू कर रहा था, प्रत्येक स्ट्रिंग को बाइट्स में बदल रहा था और वापस आरईवी/भेज के लिए बदल रहा था। यह चूसने जा रहा था।
फिर मुझे पीईपी 466 मिला। आप टीएलएस 1.1 और टीएलएस 1.2 काम करने के लिए पीईपी 466 (Google इसे) से पैच को 2.7.7 या 2.7.8 तक आसानी से लागू कर सकते हैं।
पीईपी 466 के लिए पैच @http://bugs.python.org/file36423/ssl-backport.diff
इसके अलावा, आप निम्नलिखित पैच यूनिकोड संबंधित बग जब एसएसएल कोड में त्रुटियों के निर्माण कि एक segfault का कारण बनता है ठीक करने के लिए आवश्यकता होगी:
इस पैच है @http://bugs.python.org/file36017/unicode_fromformat.patch
इसके अलावा, एक बार आप पैच लागू, आप तकनीकी रूप से निम्नलिखित विन्यस्त और संकलन से पहले करना चाहिए:
~/Python-2.7.8$ python3 ./Tools/ssl/make_ssl_data.py /usr/include/openssl/ _ssl_data.h
~/Python-2.7.8$ mv _ssl_data.h Modules/_ssl_data.h
फिर आप & & & & इंस्टॉल कर सकते हैं और w/TLSv1.1 और TLSv1.2 जाने के लिए अच्छा होना चाहिए।
~/Python-2.7.8$ ./configure --enable-unicode=ucs2 --prefix=/opt/Python-2.7.8/ --with-pth && make -j && sudo make install
TLS 1.2 अब मेरे लिए ठीक काम कर रहा है, तो मैं 3.
वैसे भी अजगर को एक विशाल एप्लिकेशन पोर्ट की जरूरत नहीं है, पीईपी पृष्ठ पर शब्दों भ्रामक है, यह ध्वनि बनाता है दिसंबर में 2.7.9 की तरह इस समर्थन में शामिल होना चाहिए (?) लेकिन मुझे यकीन नहीं है कि यह सटीक है या यदि यह आपके मैन्युअल रूप से मैन्युअल वर्कअराउंड है जब तक कि आप पाइथन 3 पर अपना कोड पोर्ट न करें। मुझे लगता है कि यह वास्तव में नहीं है मामला।
क्या आप पाइथन 2.7 को बैकपोर्ट टीएलएस> 1.0 बैकपोर्ट नहीं के पाइथन रखरखाव के कथन के बारे में एक लिंक दे सकते हैं? धन्यवाद – Tian
क्या आपने मेरा पिछला लिंक पढ़ा था? :) यह वहीं है: http://bugs.python.org/issue16692#msg189879 –
यह कहा जा सकता है, लेकिन सच है कि टीएलएस 1.1 और पाइथन के लिए 1.2 समर्थन> 2.7.8 है। "संस्करण 2.7 में नया देखें।9 "एसएसएल दस्तावेज पर ध्यान दें: https://docs.python.org/2/library/ssl.html#ssl.PROTOCOL_TLSv1_2 – guival