2012-10-21 28 views
5

विफल रहा मुझे एक्सएमपीपी (प्रोसोडी) के साथ कनेक्शन स्थापित करने में कठिनाई हो रही है। लेकिन अगर मैं पीएसआई का उपयोग करता हूं तो यह ठीक काम करता है और आपके सुझावों के लिए अनुरोध करता है।एक्सएमपीपी एसएसएल हैंडशेक

client = xmpp.Client(host) 
client.connect(server=(host,port)) 
client.auth(username, passwd,resource='', sasl=1) 
client.sendInitPresence() 

डीबग मोड में:

DEBUG: dispatcher warn Registering protocol "error" as <class 'xmpp.protocol.Protocol'>(http://etherx.jabber.org/streams) 
DEBUG: socket  sent <?xml version='1.0'?><stream:stream xmlns="jabber:client" to="localhost" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" > 
DEBUG: socket  error Socket error while receiving data 
         Traceback (most recent call last): 
          File "/usr/local/lib/python2.7/dist-packages/xmpp/transports.py", line 161, in receive 
          try: received = self._recv(BUFLEN) 
          error: [Errno 104] Connection reset by peer 
DEBUG: client  stop Disconnect detected 
DEBUG: socket  error Socket operation failed 
         Traceback (most recent call last): 
          File "/usr/local/lib/python2.7/dist-packages/xmpp/transports.py", line 161, in receive 
          try: received = self._recv(BUFLEN) 
          error: [Errno 104] Connection reset by peer 
DEBUG: socket  error Socket error while receiving data 
DEBUG: client  stop Disconnect detected 

**Prosody logs :** 
Oct 20 23:46:39 c2s94ba718  info Client connected 
Oct 20 23:46:39 c2s94ba718  info Client disconnected: ssl handshake failed 
Oct 20 23:46:39 c2s94ba718  info Destroying session for (unknown) ((unknown)@(unknown)) 
Oct 20 23:48:57 c2s96052a0  info Client connected 
Oct 20 23:48:57 c2s96052a0  info Client disconnected: ssl handshake failed 
Oct 20 23:48:57 c2s96052a0  info Destroying session for (unknown) ((unknown)@(unknown)) 

इस पर कोई सुझाव बहुत सराहना की जाएगी

यहाँ मेरी अजगर का कोड स्निपेट है। लक्ष्य एक्सएमपीपी सर्वर से कनेक्ट करना और पायथन के माध्यम से एमयूसी में शामिल होना है।

+1

कौन सा xmpp अजगर पैकेज के लिए https://prosody.im/doc/certificates#certificate_chains देखना क्या आप बिल्कुल उपयोग कर रहे हैं? –

+1

क्या आप प्रोसोडी के लिए डीबग करने के लिए लॉग स्तर बदल सकते हैं और कनेक्ट करने का प्रयास कर सकते हैं, और यहां लॉग पोस्ट कर सकते हैं? –

उत्तर

0

जैसा कि मैंने देखा है कि आप पाइथन 2.7 का उपयोग कर रहे हैं, सुनिश्चित करें कि आपने नवीनतम संस्करण (2.7.11) में अपडेट किया है क्योंकि हाल ही में कुछ एसएसएल परिवर्तन हैं जो बहुत सारे कोड को तोड़ सकते हैं।

0

मुझे यह त्रुटि पिजिन (libpurple 2.10.11) में मिली थी जब मैंने सर्वर-साइड पर प्रमाणपत्र श्रृंखला प्रदान नहीं की थी।

मैं सर्वर पर प्रमाण पत्र के अंत में CA-बंडल (यानी मध्यवर्ती प्रमाणपत्र) जोड़कर इस हल:

cat /path/to/ica.crt >> /path/to/prosody.crt 

इसके अलावा अधिक जानकारी के

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