2012-10-21 31 views
5

XMPP (Prosody) ile bağlantı kurmakta zorluk yaşıyorum. Ama eğer PSI kullanırsam, iyi çalışıyor ve önerilerinizi istiyoruz.XMPP SSL El sıkışma başarısız oldu

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

ayıklama modunda: Bu konuda

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

Herhangi bir öneriniz çok takdir İşte

benim pitonun kod parçacığı olduğunu. Amaç bir XMPP sunucusuna bağlanmak ve python ile bir MUC'ye katılmaktır.

+1

XMPP Python paketi için https://prosody.im/doc/certificates#certificate_chains bkz

sunucuda belgesi sonunda CA-demeti (örneğin ara sertifika) eklenerek çözüldü tam olarak mı kullanıyorsun –

+1

Günlük seviyesini prosody için debug olarak değiştirebilir ve bağlanmayı deneyebilir ve günlükleri buradan gönderebilirsiniz. –

cevap

0

Python 2,7'yi kullandığınızı gördüğüm gibi, son birkaç sürüme (2.7.11) güncellediğinizden emin olun, çünkü çok sayıda kodun bozulmasına neden olabilecek bazı SSL değişiklikleri vardır.

0

Sunucu tarafında bir sertifika zinciri sağlamadığımda bu hatayı Pidgin'de (libpurple 2.10.11) aldım.

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

da daha fazla bilgi

İlgili konular