2016-09-26 7 views
2

私はTwisted(16.3)とTreq(15.1)を使ってPython(2.7)で非同期リクエストを行います。SSL証明書チェックを無効にするTwisted Agents

HTTPS経由のリクエストで問題が発生しています。

いくつかのサイトが無効な証明書を持っており、それらへの要求を行うときので、私はこれを取得:

twisted.python.failure.Failure OpenSSL.SSL.Error 

は、私は私のクライアントは、証明書なしまたは自己署名証明書を持つものを含む、任意のサーバーを、信頼したいです。

クライアントで証明書チェックを無効にするにはどうすればよいですか? https://stackoverflow.com/questions/34357439/ssl-options-for-twisted-agents

ありがとう:

これは私のと本質的に同じ質問です!

答えて

4

私は過去数日間にもこれをやろうとしています。私が証明書の検証を邪魔することに全力を尽くして、簡単にちょうど1組の鍵を作って、私の気持ちの良い方法でやり遂げることができました。私は「正しく」それを行うための複雑な方法があります確信しているが、それは私の意見では努力の価値ではないでしょう

from twisted.internet import _sslverify 
_sslverify.platformTrust = lambda : None 

:私はこの問題をmonkeypatches treq問題ボード上this commentを見つけました。私はそれがplatformTrust()を上書きしないようなパッチを行い、それを合併しようとしますが、私は息を止めません。私が信じてきたバグコメントの中から、信じるルーツ、SSL、証明書に関して、私はそれが合併するとは思わない。しかし、これは役立ちます。

+0

Hey!答えをありがとう!私もそのコメントに出くわしましたが、それは私を助けませんでした。私は 'twisted.web.client import Agent'から自分のリクエストにエージェントを使用しています。コードを推測していますが、 '_sslverify.platformTrust = lambda:None'はplatformTrustを上書きして何もしません。それはエージェントにも当てはまりますか?エージェントが使用されている場合は、変更する必要があるものがありますか? – mayk93

+0

それは私のために働いて、私もカスタムエージェントを使用しました –

+0

これは私に一日近づいて言われています。 Python/Twistedが実際の証明書を使用しているPythonコミュニティのeveyoneであるか、自分のCAでマシンを汚染しているのか、SSL/TLSだけをテストしていないのか、私は信じられません。 – jmc