2013-07-02 9 views
21

वर्तमान में libmproxy का उपयोग कर रहा है, जो बदले में telnetlib का उपयोग करता है, HTTPS वेब पृष्ठों पर अनुरोध करने के लिए। हालांकि, निम्न त्रुटि उठाया है:libmproxy में 'tlsv1 अलर्ट अज्ञात सीए' त्रुटि से कैसे बचें?

Error: [('SSL routines', 'SSL3_READ_BYTES', 'tlsv1 alert unknown ca')] 

मेरा मानना ​​है कि इस सीए कि प्रमाणपत्र पेज का उपयोग करता है के लिए पुष्टि की पहचान सत्यापित करने में असमर्थता से संबंधित है। मुझे लगता है कि एक ऐसी सेटिंग होनी चाहिए जिसे मैं चालू (या बंद) कर सकता हूं जो सत्यापन के बाईपास को सक्षम बनाता है - मुझे डिजिटल हस्ताक्षरकर्ता की पहचान सत्यापित करने में कोई दिलचस्पी नहीं है।

मुझे लगता है कि एक संभावित, तरह का बदसूरत, समाधान अपवाद को पकड़ने और इसे अनदेखा करने के लिए कोड को पैच करने के लिए हो सकता है, लेकिन इसके बजाय मुझे क्लीनर और अधिक समर्थित तरीका होगा।

इस समस्या से बचने/हल करने का एक अच्छा तरीका क्या है?

बहुत बहुत धन्यवाद!

+2

क्या आप जानते हैं कि सत्यापन को छोड़कर कनेक्शन संभावित एमआईटीएम हमलों के लिए कमजोर बनाता है? – Bruno

+1

हां। यह एक स्वाभाविक रूप से असुरक्षित वातावरण है और यह संभावित रूप से असुरक्षित परिस्थितियों में प्रवेश करने के लिए "ठीक" है। सिर के लिए धन्यवाद, हालांकि :) –

+1

मैंने इसमें खोदने की कोशिश की, लेकिन यह वास्तव में "पायथन" प्रश्न नहीं है - उत्तर अंतर्निहित पुस्तकालयों के लिए विशिष्ट होगा। ऐसा लगता है कि libmproxy netlib का उपयोग करता है जो openssl लाइब्रेरी का उपयोग करता है, इसलिए मुझे openssl लाइब्रेरी को देखकर और वहां सत्यापन को बंद करने का तरीका पता लगाना होगा, फिर देखें कि netlib को इसे सक्रिय करने का कोई तरीका है, तो देखें कि libmproxy Netlib को सक्रिय करने का एक तरीका है जो openssl को प्रमाणपत्र को मान्य नहीं करता है .. –

उत्तर

2

ऐसा तब होता है जब उपयोगकर्ता को प्रस्तुत प्रॉक्सीएसजी प्रमाण पत्र किसी विश्वसनीय CA द्वारा हस्ताक्षरित नहीं होता है।

मुझे यह त्रुटि भी मिली, मैंने समूह नीति के माध्यम से सीए (जिसे एसएसएल प्रॉक्सी के लिए इस्तेमाल किया) को वास्तविक ब्राउज़र में दबाकर इसे ठीक किया।

+0

लगता है जैसे यह देखने लायक हो सकता है। क्या आप इसे कैसे कर सकते हैं और उन शर्तों का क्या अर्थ है, इस बारे में विस्तार से बता सकते हैं? –

2

ऐसा लगता है कि यदि आपके पास Windows क्लाइंट हैं तो आप प्रमाणपत्र का उपयोग कर सकते हैं।

http://support.microsoft.com/kb/555252

लिनक्स ग्राहकों के लिए आप का उपयोग कर सकते हैं:

sudo mkdir /etc/share/certificates/extra && cp cacert.crt /user/share/certficates/extra/cacert.crt 
sudo dpkg-reconfigure ca-certificates 

मैक ग्राहकों के लिए:

sudo security add-trusted-cert -d -r trustRoot -k \ 
"/Library/Keychains/System.keychain" \ 
"/private/tmp/certs/certname.cer" 

इसके अलावा, libmproxy वेबपेज पढ़ने (https://apple.stackexchange.com/questions/80623/import-certificates-into-system-keychain-via-the-command-line से इस सवाल का जवाब मिल गया है) ऐसा लगता है कि यह सी लोड करने में सक्षम है ustom प्रमाणपत्र। यदि आपके पास पहले से एक आंतरिक प्रमाणपत्र प्राधिकरण है जो आपके क्लाइंट पहले से ही भरोसा करते हैं तो आप वहां से केवल कर्ट उत्पन्न करना चाहते हैं।

संबंधित मुद्दे