2017-01-28 25 views
0

無効なssl certのために、errbotをdev HipChatサーバーに接続しようとしています。errbotの証明書検証を無効にする

ログ:BOT_IDENTITY内だけでなく、configにXMPP_CA_CERT_FILE =なし:

21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: ssl_cert 
21:16:01 ERROR sleekxmpp.xmlstream.xmlst Could not match certficate against hostname: chat.btf.hipchat.com 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: session_end 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: disconnected 
21:16:01 INFO  errbot.core    Disconnect callback, deactivating all the plugins. 
21:16:01 DEBUG sleekxmpp.thirdparty.stat ==== TRANSITION connected -> disconnected 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst SEND (IMMED): <stream:stream to='chat.btf.hipchat.com' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' xml:lang='en' version='1.0'> 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: socket_error 
21:16:01 WARNING sleekxmpp.xmlstream.xmlst Failed to send b"<stream:stream to='chat.btf.hipchat.com' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' xml:lang='en' version='1.0'>" 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: session_end 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: socket_error 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: disconnected 
21:16:01 INFO  errbot.core    Disconnect callback, deactivating all the plugins. 
21:16:01 DEBUG sleekxmpp.thirdparty.stat ==== TRANSITION connected -> disconnected 
21:16:01 DEBUG sleekxmpp.xmlstream.xmlst Event triggered: socket_error 
21:16:01 ERROR sleekxmpp.xmlstream.xmlst Socket Error #9: Bad file descriptor 

Errbotが、私は "偽 '検証'" 指定されていても証明書を検証し続けます。設定の

一部:

BOT_IDENTITY = { 
    ## HipChat mode (Comment the above if using this mode) 
    'username' : '[email protected]', 
    'password' : '123qweASD', 
    ## Group admins can create/view tokens on the settings page after logging 
    ## in on HipChat's website 
    'token' : 'sometoken', 
    ## If you're using HipChat server (self-hosted HipChat) then you should set 
    ## the endpoint below. If you don't use HipChat server but use the hosted version 
    ## of HipChat then you may leave this commented out. 
    'endpoint' : 'hipchat.test.intra', 
    'verify': False, 
} 
XMPP_CA_CERT_FILE = None 

それを動作させるためにどのように任意のアイデアは本当に感謝しています。

答えて

0

このエラーの原因は、verify機能で発生し、証明書がホスト名と有効期限の点で有効であることを検証します。

errbotのconfigに設定されたXMPP_CA_CERT_FILEの値は、最終的にcert_policyに影響を与えるXMLStreamクラスのca_certsに渡されます。それはssl.CERT_NONEと設定されていますが、それでもstill calls verifyです。

現在、有効な信頼ルートがない(自己署名可能な)証明書を持つことができますが、接続するホスト名が証明書のホスト名(CN)と一致していることを確認する必要があります。 (これは、SleekXMPP、errbotによって使用される基本的なXMPPライブラリが私たちに課したものであり、errbot自体からのものではありません)。

+0

一時的に真を返すように設定すると、今度は魅力的に機能します。ありがとう! – RomanV

関連する問題