के तहत उपयोग करने के लिए SSL3 अक्षम करने के लिए असमर्थ हूँ जो, आप डिफ़ॉल्ट को स्वीकार करने से ssl_context
चर खुद तय करना चाहिए बल्कि। यहां पाइथन के अंतर्निहित ssl
मॉड्यूल (अंतर्निहित cherrypy
एसएसएल मॉड्यूल के बदले) का उपयोग करके एक उदाहरण दिया गया है।
import cherrypy
import ssl
ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
ctx.options |= ssl.OP_NO_SSLv2
ctx.options |= ssl.OP_NO_SSLv3
cherrypy.config.update(server_config)
जहां इस मामले में, SSL
OpenSSL
मॉड्यूल से है।
यह ध्यान देने योग्य है कि पायथन 3.2.3 में शुरू होने पर, ssl
मॉड्यूल डिफ़ॉल्ट रूप से कुछ कमजोर सिफर अक्षम करता है।
इसके अलावा, आप विशेष रूप से सभी सिफर आप चाहते हैं
ciphers = {
'DHE-RSA-AE256-SHA',
...
'RC4-SHA'
}
ctx.set_ciphers(':'.join(ciphers))
साथ आप web.wsgiserver
मॉड्यूल से CherryPyWSGIServer
उपयोग कर रहे हैं निर्धारित कर सकते हैं, तो आप
CherryPyWSGIServer.ssl_adapter.context.set_cipher_list(':'.join(ciphers))
यहाँ के साथ डिफ़ॉल्ट सिफर स्थापित करेगा उपर्युक्त विवरण देने वाले दस्तावेज का हिस्सा है: http://docs.cherrypy.org/en/latest/pkg/cherrypy.wsgiserver.html#module-cherrypy.wsgiserver.ssl_builtin
आखिरकार, यहां कुछ स्रोत हैं (सिम पूछना ilar प्रश्न) है कि आप को देखने के लिए चाहते हो सकता है:
स्रोत
2016-01-14 20:42:34
हाय माइकल, दुर्भाग्य से मैं पायथन के builtin 'उपयोग करने की आवश्यकता एसएसएल 'मॉड्यूल, चेरीपी के साथ,' पायपोन्सस्ल 'नहीं - जो' ओपनएसएसएल 'मॉड्यूल प्रदान करता है। मैंने आपके समाधान की कोशिश की लेकिन 'openssl s_client ... -ssl3' के साथ जांच कर यह एसएसएल 3 के साथ जुड़ता है, जिसे मुझे अक्षम करने के लिए सुनिश्चित करने की आवश्यकता है। – gc5
@fbrundu - मेरी गलती, मैंने देखा कि आप Python3 कहते हैं लेकिन मैंने आपको Python2 जवाब दिया है! मैंने उपरोक्त उत्तर संपादित किया है। अगर यह काम करता है तो मुझे बताएं। –
मुझे खेद है लेकिन यह काम नहीं करता है। 'Openssl s_client ... -ssl3' के साथ चल रहा है यह हमेशा मुझे 'प्रोटोकॉल: एसएसएलवी 3' देता है .. क्या यह हो सकता है कि' ssl_context' केवल 'pyOpenSSL' के साथ काम करता है जो Python3 पर चेरीपी के साथ काम नहीं करता है? – gc5