###前提・実現したいこと
Milkcocoaを使ったメッセージ送受信のシステムを試作中です。
Pythonを使ってコーディングしたいと思っており、Python SDKを使用しています。
MacOS上でPythonSDKを使ったテストを実施し、こちらでは全く問題なく動作したので、ターゲット上でのテストに移りました。
ターゲットデバイスはRaspberryPi/Raspbian Jessie Liteです。
###発生している問題・エラーメッセージ
実際のデバイス(Raspberry Pi / RASPBIAN JESSIE LITE)でPython SDKをインストールして実行したところ、サーバとのコネクションのフェーズ、SSLのサーティフィケーション確認でエラーします。
>>>milkcocoaClient = milkcocoa.Milkcocoa.connectWithApiKey("APP_ID", "key", "secret") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python_module/milkcocoa/python_sdk/src/milkcocoa/milkcocoa.py", line 56, in connectWithApiKey return Milkcocoa(app_id, "k"+key+":"+secret, useSSL=useSSL, blocking=blocking) File "/usr/local/lib/python_module/milkcocoa/python_sdk/src/milkcocoa/milkcocoa.py", line 24, in __init__ self.client.connect(self.host, port, 36) File "/usr/local/lib/python_module/milkcocoa/python_sdk/src/paho/mqtt/client.py", line 612, in connect return self.reconnect() File "/usr/local/lib/python_module/milkcocoa/python_sdk/src/paho/mqtt/client.py", line 747, in reconnect ciphers=self._tls_ciphers) File "/usr/lib/python2.7/ssl.py", line 891, in wrap_socket ciphers=ciphers) File "/usr/lib/python2.7/ssl.py", line 566, in __init__ self.do_handshake() File "/usr/lib/python2.7/ssl.py", line 788, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
SSLを切って接続するとokです。
>>>milkcocoaClient = milkcocoa.Milkcocoa.connectWithApiKey("APP_ID", "key", "secret", UseSSL=False) >>> Connected with result code 0
MacOSではうまく行っていたので、OpenSSLのバージョンを確認すると
-
MacOS:
OpenSSL 0.9.8zg 14 July 2015 -
RaspberryPi (RASPBIAN JESSIE LITE):
OpenSSL 1.0.1k 8 Jan 2015
となっていました。
ここら辺がフェイルの原因でしょうか。
もし、バージョンの問題であるとすれば、旧バージョンのOpenSSLを使うべきでしょうか。
あるいは、最新のものを使うといい、というようなことはありますか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。