2016-01-27 3 views
8

ウェブサーバをHTTPからHTTPSへ"Let"s Encrypt"で変更しました。 Webサーバーは、APIが含まれている、と私はAPIを使用するPythonアプリケーションを、持っています。 Linuxでは証明書、Python、Windowsを暗号化しましょう

は、すべての罰金ですが、私がログインしていたときに、Windowsの下で、私は、以下の本を受け取る。

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 

私の考えは、SSL証明書がインストールされていないことでした。

私は "isrgrootx1.der"と "lets-encrypt-x1-cross-signed.der"を両方とも "* .cer"の末尾に名前を変更してダウンロードしました。

は、それから私は、Windowsコンソールを開き、これを実行します。

certutil -addstore "Root" "isrgrootx1.cer". 
certutil -addstore "Root" "lets-encrypt-x1-cross-signed.cer". 

2番目のコマンドが失敗し、それがルート証明書ではありませんので。 私の質問は:どのグループでは、「暗号化-することができます-X1クロスsigned.cer」インストールする必要がありますか?

+0

あなたは答えをチェックし、それはあなたが@clausismusのために働くかどうかを確認してもらえますか? – TheDarkKnight

答えて

-1

python-requestsライブラリを使用しているときに同じ問題が発生しました。ここで

は私のために働いていたものです:

r = requests.post(url, *verify=False*)  # Verify=false being the key element here 

requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL' # this is to deal with the "dh key too small" error that you might face later 

はそれが役に立てば幸い!

0

これは中間証明書なので、 "lets-encrypt-x1-cross-signed.cer"をWindowsマシンに追加する必要はありません。そして、あなたはすでにWindowsに含まれているレッツ・暗号化証明書チェーン「DSTルートX3」に、以来、いずれかの「isrgrootx1.cer」を追加する必要はありません。

ほとんどの場合、Webサーバーは中間証明書を送信するように設定されていません。あなたがCertbotを使用している場合、たとえば、あなたはむしろ「cert.pemを」よりも「fullchain.pem」を使用してWebサーバーを設定することをお勧めします。

関連する問題