いくつかのマイナーな問題

いくつかのマイナーな問題

実行時

wget https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf

このエラーがあります。

--2020-06-03 20:55:06--  https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf
Resolving docs.conda.io (docs.conda.io)... 104.31.71.166, 104.31.70.166, 172.67.149.185, ...
Connecting to docs.conda.io (docs.conda.io)|104.31.71.166|:443... connected.
ERROR: cannot verify docs.conda.io's certificate, issued by ‘CN=SSL-SG1-GFRPA2,OU=Operations,O=Cloud Services,C=US’:
  Unable to locally verify the issuer's authority.
To connect to docs.conda.io insecurely, use `--no-check-certificate'.

私はこの問題を解決しようとしています。

  1. sudo update-ca-certificates -f

  2. URLを開くと、ブラウザから証明書をエクスポートしてファイルに保存し、conda.cer次の手順をopenssl x509 -in conda.cer -inform der -outform pem -out conda.pem実行します。

    wget --ca-certificate=conda.pem \
    https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf
    

    =>まだ同じエラー

  3. 以下のファイルを入れてください/etc/ssl/certssudo cp conda.pem /etc/ssl/certs=>まだ同じエラーが発生します。

私はそれを使用できることを知っていますが、--no-check-certificateそれは私が望むものではありません。

この問題は他のウェブサイトでも発生します。理由を知っている人はいますか?ありがとうございます。

アップデート1 私は次のステップを試しました:1)sudo cp conda.crt /usr/share/ca-certificates/mozilla/

2) 最後にsudo vi /etc/ca-certificates.conf追加mozilla/conda.crt

3) 実行sudo update-ca-certificates -f

4)以下のように、/etc/ssl/certsの下に生成されたシンボリックリンクを見ることができます。conda.pem -> /usr/share/ca-certificates/mozilla/conda.crt

しかし、まだ動作しません!

アップデート2 - 削除されました。アップデート3を参照してください。

アップデート3

上記のURLの証明書チェーンには4つの証明書が含まれています。

見逃さないように、4つの証明書(たとえばconda1.crt、、、、、)をすべて入れて、に記載さconda2.crtれている手順を繰り返しました。conda3.crtconda4.crt/usr/share/ca-certificates/mozilla/アップデート1

でシンボリックリンクが正常に作成されました/etc/ssl/certs

確認する:

openssl verify -no-CAfile -no-CApath -partial_chain -CAfile conda1.pem conda2.pem
conda2.pem: OK

openssl verify -no-CAfile -no-CApath -partial_chain -CAfile conda2.pem conda3.pem
conda3.pem: OK


openssl verify -no-CAfile -no-CApath -partial_chain -CAfile conda3.pem conda4.pem
conda4.pem: OK

結果:wgetはまだ失敗します。


アップデート4

原因の一部が見つかりました

ネットワークを傍受するブルーコートサービスが根本的な原因です(VM Ubuntuでのみ問題になり、ホストWindowsはSSLでうまく機能します)。

次の2つの操作(conda1.crtブラウザからインポートしてBluecoatサービスからインポートする必要があります):

wget --ca-certificates=/etc/ssl/certs/ca-certificates.crt https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf

wget --ca-certificates=conda1.crt https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf

現状

説明した手順conda1.crtに従ってインストールしました。/etc/ssl/certsアップデート1。手順に示すconda1.crtように正しいと見なされます。wgetアップデート4

ただし、この手順を実行した後も接続は失敗し続けます。

Bluecoatサービスを強制的に無効にすると、SSLの問題は消えます。

しかし、Bluecoatを使用する必要があるので、Bluecoatで問題を解決するのを手伝ってくれてありがとう。

ベストアンサー1

Yuan:実際の答えではありませんが、コメントが多すぎます。

UPDATE1 次の手順を試しました。
[実際に conda ではなく、Bluecoat からインポートされたブラウザからエクスポートされた証明書を使用する]
1) sudo cp conda.crt /usr/share/ca-certificates/mozilla/
2) sudo vi /etc/ca -certificates.conf と最後に mozilla/conda .crtを追加する
3)[] sudo update-ca-certificates -f
4)以下のように、/etc/ssl/certsの下に生成されたシンボリックリンクを見ることができます。 conda.pem -> /usr/share/ca-certificates/mozilla/conda.crt
しかし、まだ動作しません! [明示されていないwget --ca-certificates=]

本当に素晴らしいです。私のテスト証明書を使用してUbuntu 18.04で動作します(もちろん、あなたの証明書がないため)。各証明書は次の場所にあります。/etc/ssl/certs 3つの方法(1)Digicert_somethingやGo_Daddy_whateverなどの「フレンドリーな」ファイル名、 (2) 「フレンドリー」な名前/usr/share/ca-certificates/で再接続された「ハッシュ名」3513523f.0 -> DigiCert_Global_Root_CA.pemca-certificates.crtを持つ証明書のPEMブロック。wgetOpenSSLでは、コードに従って(2)および/または(3)の証明書データを使用します。コードをダウンロードして読み込む時間はありませんが、(1)は使用しないので(1)を確認しません。証明作業が多すぎます。 (2)と(3)を確認してください。これが正しい場合は、openssl s_clientどちらが同じトラストストアとロジックを使用する必要があるかを試みますが、見つかった問題の詳細を提供します。その他情報)。これが役に立たない場合は、wgetのソースコードを取得してシンボルで再構築してデバッグする必要があるようです。これはあまりにも多くの作業です。

つまり、 update-ca-certificates(1) のマニュアルページではこの内容だけを簡単に言及していますが、意図する追加を追加する理由/usr/local/share/ca-certificatesは、/usr/share/ca-certificates/mozilla後者がパッケージマネージャによって維持されるためではなく、前者は/usr/localサイトまたはシステムローカルの追加に伝統的であり、すべてのレベルが使用されるところです(7)。/usr/share/doc/ca-certificates/README.Debian具体的には:

If you want to install local certificate authorities to be implicitly
trusted, please put the certificate files as single files ending with
".crt" into /usr/local/share/ca-certificates/ and re-run
'update-ca-certificates'.  ...

いくつかのマイナーな問題

ブラウザから証明書をエクスポートしてopenssl x509 -inform der -outform pem ......

WindowsのChromeとInternet Explorerは、DERまたは「base-64」(実際にはPEM)として単一の証明書をエクスポートできるWindows「証明書ウィザード」(またはそのいずれか)と、チェーン全体を許可する「p7b」を使用します。 (オプションで、誰かの秘密鍵を含めることもできます。私自身証明書ですが、ここには適用されません。 )Firefoxでは、PEMのチェーンだけでなく同じ選択も可能です。私が知っている限り、EdgeだけがDERにエクスポートすることが制限されており、変換ステップが必要です。少なくとも現在持っているバージョンは、Edgeが今年初めにChromiumにリリースされる予定でしたが、実際にそうしたのかわかりません。 W10のアイデアは、ユーザーがコンピュータで何が起こっているのか(制御は言うまでもなく)、知らないようにすることです。

[ブロック理由] VM Ubuntuのみ問題がありますが、ホストWindowsはうまく動作します。

ホストはネットワーク所有者が所有または管理しますか?例えば両方エンタープライズマシンとネットワーク?その場合、Bluecoatなどのインターセプタをインストールすると、ルート証明書は通常、それを信頼する必要があるコンピュータ、特にドメインおよびグループポリシーを使用して一元的に管理できるWindowsコンピュータに自動的にインストールされます。 (このタイプのWindowsドメインは、インターネットで使用される「ドメイン名」および「ドメイン名システムDNS」とは関係ありません。混同しないでください。)単純な表示は、ログイン名が単純な名前ではない場合です。たとえば、fred電子メールやその他などがありますが、[email protected]表形式ですdomain\fred

おすすめ記事