2015-10-01 12 views
8

私たちのネットワークインストールは最善ではないので、sslで通信するアプリケーションに証明書を無視するように伝える必要があります。だから私はこの検証をオフにしますか...だから今、私が実行したときにeasy_installでcertifcateを無視する方法

$ easy_install pip 
... 
Download error on https://pypi.python.org/simple/pip/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found! 

をなど、NPMと同じ操作を行う必要がありましたか?

P.S.私はこれがセキュリティー・ベクトルだと知っていますが、ユーモアします。

+0

代わりの証明書の検証をオフにしますシステムのルート証明書が役立ちます - [python easy_installがすべてのパッケージのSSL証明書エラーで失敗する]を参照してください。(http://stackoverflow.com/q/21265616/95735) –

答えて

9

あなたのeasy_installは、最終的にSSLヘルパーを持つsetuptoolsに行くと思います。私のLinuxでは/usr/lib/python2.7/site-packages/setuptools/ssl_support.pyにありました。そこから2つの方法は基本的にあります。

  1. 私はあなたがssl_support.py内部の場所を見つけるだろう、証明書を取得し、それを手動で追加することをお勧めします。これらの行は私の注目を集めました:

    cert_paths = """ 
    /etc/pki/tls/certs/ca-bundle.crt 
    /etc/ssl/certs/ca-certificates.crt 
    /usr/share/ssl/certs/ca-bundle.crt 
    /usr/local/share/certs/ca-root.crt 
    /etc/ssl/cert.pem 
    /System/Library/OpenSSL/certs/cert.pem 
    """.strip().split() 
    

    あなたの証明書をどれにでも追加するだけです。 openssl s_clientを使用して証明書を取得する方法はこちらをご覧ください。Using openssl to get the certificate from a server

  2. もう少し謙虚になったら、setuptoolsヘルパーでSSL検証を完全に無効にすることができます。 ssl_support.pyの次の行は、私の注意を引いた:

    try: 
        import ssl 
    except ImportError: 
        ssl = None 
    

    ように、私はちょうど、後にSSL = Noneを添加していない:更新どうかをチェックすることができ

    try: 
        import ssl 
    except ImportError: 
        ssl = None 
    
    ssl = None 
    
+2

ありがとうございます、問題自体は署名者。私の雇用主は本質的に、すべてのSSL検証に問題が発生するように、ネットワーク上ですべてのhttps要求を中点にしています。私は証明書を追加して動作させることができるのか分かりませんが、私はセキュリティプロではありません。 – Jackie

+0

@Jackieあなたのためにどのソリューションが使えますか?私は同じ問題に固執した:( – Nilesh

+0

私はこれまでにどちらかの仕事をしているか分からない。 – Jackie

関連する問題