2012-10-21 5 views
5

XMPP (Prosody)와의 연결을 설정하는 데 문제가 있습니다. 그러나 PSI를 사용하면 잘 작동하고 제안 사항을 요청할 수 있습니다.XMPP SSL 핸드 셰이크가 실패했습니다.

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)) 

어떤 제안이 많이 주시면 감사하겠습니다 여기

내 파이썬 코드 조각입니다. 목표는 XMPP 서버에 연결하고 Python을 통해 MUC에 참여하는 것입니다.

+1

XMPP 파이썬 패키지 https://prosody.im/doc/certificates#certificate_chains를 참조하십시오

나는 서버 인증서의 끝에서 CA-번들 (예 : 중간 인증서를)를 추가하여이 문제를 해결 정확히 사용하고 있습니까? –

+1

prosody에 대한 디버그 로그 수준을 변경하고 연결을 시도하고 여기에 로그를 게시 할 수 있습니까? –

답변

0

파이썬 2.7을 사용하고있는 것을 볼 수 있듯이, 최근에 SSL을 변경하여 많은 코드가 손상 될 수 있으므로 최신 버전 (2.7.11)으로 업데이트해야합니다.

0

서버 측에서 인증서 체인을 제공하지 않았을 때 Pidgin (libpurple 2.10.11)에서이 오류가 발생했습니다.

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

은 또한 자세한 내용

관련 문제