web-dev-qa-db-ja.com

証明書を確認できません。sha256sumが失敗しました。最近更新されたopenssl

現在機能しています。最後の2つの編集を参照してください

最近、sha256sumが失敗したり、証明書を検証したりできない複数のインスタンスがありました。これは、wget、winetricks、およびlutrisの使用中に発生しました。 Firefoxではまったく発生していません。

最近、opensslを1.1.1cにアップグレードしました。それが原因かどうかはわかりません。

私の問題をどのように修正できるかについて誰かが何かアイデアを持っていますか? opensslをインストールした後に何か追加する必要があるのですか?または、/ etc/ssl/certsの証明書が正しいことを確認する方法はありますか?

編集1:

Wgetの2つの例

wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
--2019-06-25 18:56:33--  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.184.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.184.133|:443... connected.
ERROR: cannot verify raw.githubusercontent.com's certificate, issued by ‘CN=DigiCert SHA2 High Assurance Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US’:
  Unable to locally verify the issuer's authority.
To connect to raw.githubusercontent.com insecurely, use `--no-check-certificate'.

そして

wget https://dl.google.com/dl/Android/studio/ide-zips/3.4.1.0/Android-studio-ide-183.5522156-linux.tar.gz
--2019-06-25 19:08:19--  https://dl.google.com/dl/Android/studio/ide-zips/3.4.1.0/Android-studio-ide-183.5522156-linux.tar.gz
Resolving dl.google.com (dl.google.com)... 2607:f8b0:4009:807::200e, 172.217.9.78
Connecting to dl.google.com (dl.google.com)|2607:f8b0:4009:807::200e|:443... connected.
ERROR: cannot verify dl.google.com's certificate, issued by ‘CN=Google Internet Authority G3,O=Google Trust Services,C=US’:
  Unable to locally verify the issuer's authority.
To connect to dl.google.com insecurely, use `--no-check-certificate'.

編集2:
ca_certificate=/etc/ssl/certs/ca-certificates.crt/etc/wgetrcを追加すると、wgetの問題が修正されました。ただし、他のプログラムでまだ問題が発生することがあります。 opensslを更新したときに、いくつかのシステムリンクが削除されたのではないかと思います。 opensslのWebサイトの指示に従って、ソースからopensslを構築したことを述べておきます。必要なバージョンがまだないため、パッケージマネージャーは使用しませんでした。

編集3:
lutrisがpython 3 urllibを介して証明書を検証できない

2019-06-25 19:36:04,485: Error while completing task <function fetch_script at 0x7f0533fd1730>: Unable to connect to server https://lutris.net/api/installers/Hearthstone-dx11-to-vulkan-dxvk: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)>
<class 'lutris.util.http.HTTPError'> Unable to connect to server https://lutris.net/api/installers/Hearthstone-dx11-to-vulkan-dxvk: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)>
  File "/usr/lib/python3/dist-packages/lutris/util/jobs.py", line 30, in target
result = self.function(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/lutris/installer/interpreter.py", line 56, in fetch_script
request.get()
  File "/usr/lib/python3/dist-packages/lutris/util/http.py", line 81, in get
raise HTTPError("Unable to connect to server %s: %s" % (self.url, error))

編集4:
動作しました! /etc/ssl/certsから/usr/local/ssl/certsへのシステムリンクを追加する必要がありました。opensslをアップグレードしたときに、これを削除しておく必要があります。
これにより、winetricksで発生していたsha256sumの問題も修正されました

編集5:実際、/usr/local/ssl/certsは決して削除されませんでした。それは存在しなかっただけです。私が/usr/lib/ssl/certsで証明書を探していたopensslの古いバージョン。アップグレード後、/usr/local/ssl/certsでそれらを探していました。コマンドopenssl version -dでこれを確認できました

1
John Oberhauser

OpenSSLが使用する現在のディレクトリを取得します。

openssl version -d

すべての古い証明書を現在のディレクトリにコピーします。通常の古いディレクトリは/etc/ssl/certs

cp -P /etc/ssl/certs /usr/local/ssl/certs
1
Alex

合計が期限切れになることはありません。それらは、合理的に一意の値に一連のデータを識別します。誰か[あなたが信頼している人]がファイルを持っていて、識別子(ハッシュ/合計)を作成しました。その後、その識別子が保存され、後でファイルを取得したときに、まったく同じファイルであることを確認できます。オリジナルと一致しないファイルをダウンロードしたため、信頼できないファイルを使用して一連のアクションを決定する必要があります。 sumの使用の主な例は、Ubuntuダウンロードページにアクセスし、現在のイメージを確認する方法が示されている場合です。

echo "2da6f8b5c65b71b040c5c510311eae1798545b8ba801c9b63e9e3fd3c0457cbe *ubuntu-19.04-desktop-AMD64.iso" | shasum -a 256 --check

この場合、検証済みの合計を安全に取得し(https)、それを使用してISOの整合性を検証します。これにより、ISOをミラーからダウンロードして、改ざんされていないことがわかります。

OpenSSLアップデートはこれに影響を与えていません。


証明書の失敗に関しては、ウェブサイトが証明書を最新に保つことができない場合があります。物事は忘れられ、更新は行われません。証明書はデフォルトで期限切れになり、保守作業が必要になるため、これが事実である可能性があります。ファイルのURLを取得できる場合は、自分で証明書を検査できます。これは十分に無害に思えるかもしれませんが、保守されていないサーバーははるかに大きな問題を抱えている可能性があり、サーバーが提供するファイルが安全ではなくなります。

OpenSSLアップデートがこの問題を引き起こしている可能性は非常に低いです。証明書はおそらく無効です。詳細が必要な場合は、例を提供できます。

0
earthmeLon