2016-08-25 6 views
0

私はVirusTotalのAPIを使用してPythonスクリプトを持っています。それは何の問題もなく働いてきたが、私は、私は次のエラーを取得していますスクリプトを実行したときに、突然のすべては:パイソン - SSL:CERTIFICATE_VERIFY_FAILED

urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> 

を私はそれが問題を引き起こしている、当社のWebプロキシていると思われます。証明書を確認できないようにする方法はありますか?ここではAPIを使用するコードの一部は次のとおりです。

json_out = [] 
url = "https://www.virustotal.com/vtapi/v2/file/report" 

parameters = {"resource": my_list, 
       "apikey": "<MY API KEY>"} 

data = urllib.urlencode(parameters) 
req = urllib2.Request(url, data) 
response = urllib2.urlopen(req) 
json_out.append (response.read()) 
+0

おそらく問題はそれが私が思ったものではありませんでした。スクリプトを通常のユーザーとして実行すると、上記のエラーが発生します。私がsudoを使って実行すると、うまく動作します。 –

答えて

0

I believe it may be our web proxy that is causing the issue. Is there a way to prevent it from verifying the cert?

プロキシをインターセプトするSSL接続を拒否されたと仮定した場合、あなたはプロキシで問題を解決しなければならない、すなわち方法はありませんプロキシがアプリケーションから証明書をチェックしないように指示します。

代わりにSSL代行受信プロキシがあると仮定し、受信した証明書が信頼できるCAによって署名されていない場合は、プロキシのCAを取得してアプリケーションで信頼する必要があります(cafiledocumentation)。検証を無効にすることは、決して正しい方法ではありません。代わりに、検証を行うように修正してください。

0

あなたが自己署名証明書を使用している二つの可能性、

  1. があります。ブラウザはそのような証明書を信頼しないので、CA署名付きの信頼できる証明書を使用していることを確認してください。
  2. CA署名入り証明書を使用している場合は、証明書をインストールする(ルート証明書と中間証明書)を確認する必要があります。

この記事を参考にしてください。役立つかもしれません。 - https://access.redhat.com/articles/2039753