カールがbit.lyに接続できないのはなぜですか?

カールがbit.lyに接続できないのはなぜですか?

手順とサンプルコードと例に従ってHyperledger Fabricをインストールしようとしています。彼らのページから。しかし、次のコマンドを実行しようとすると:

curl -sSL https://bit.ly/2ysbOFE | bash -s

次のエラーが発生します。

curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

少しデバッグした後、問題は名前909be051.0です/etc/ssl/certs/。見つけたアドバイスを理解しようとしています。ここしかし、私はこれを言及していませんrootcert.pem

その後、カールを取り外して再インストールしてみました。それは無駄です。を実行して証明書の更新を試みupdate-ca-certificatesますc_rehash。彼らは役に立たない。

それからこれを見つけました。回答。このコマンドを確認しました(例:ここ)と関連コンテンツを読むここを使用して、以下のようにbit.lyのSSL証明書を取得しようとします。

openssl s_client -showcerts -servername bit.ly -connect bit.ly:443 > cacert.pem

その後、証明書を証明書ディレクトリにコピーしてandを/etc/ssl/certs実行し、curlコマンドを再試行しましたが、再び機能しませんでした。呼び出し時にディレクトリを指定せず、環境変数が空であったため、プロセスが正しく実行されていない可能性があります。とにかく、この証明書を次のコマンドで直接使用しました。update-ca-certificatesc_rehashc_rehashSSL_CERT_DIRcurl

curl -vsSL https://bit.ly/2ysbOFE --cacert ./cacert.pem | bash -s

そして得た

...

* Connection #0 to host bit.ly left intact
* Issue another request to this URL: 
'https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh'
*   Trying 185.199.109.133:443...
* Connected to raw.githubusercontent.com (185.199.109.133) port 443 (#1)
* ALPN, offering http/1.1
*  CAfile: ./cacert-bitly.pem

...

* TLSv1.3 (OUT), TLS alert, unknown CA (560):
} [2 bytes data]
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 1
curl: (60) SSL certificate problem: unable to get local issuer certificate

これは、私が提供した証明書がに接続するのに適しているように見えますが、カールが2番目のドメインの証明書をbit.ly含まないraw.githubusercontent.com私が提供した同じファイルを使用して接続しようとしていることを示しています。.pemそのため、前のコマンドで取得した証明書を再利用しましたraw.githubusercontent.com

openssl s_client -showcerts -servername raw.githubusercontent.com -connect raw.githubusercontent.com:443 > cacert-githubusercontent.pem

2番目の証明書を証明書ディレクトリにコピーし、andを/etc/ssl/certs実行してからcurlコマンドを再試行しましたが、再び機能しませんでした(再び、更新を間違った方法で実行した可能性があります)。次に、2 番目の証明書を最初の証明書に追加することで、両方の証明書を次のように 1 つのファイルのカール コマンドで使用できます。update-ca-certificatesc_rehash

cat cacert-githubusercontent.pem >> cacert.pem

最後に、次を実行します。

curl -vsSL https://bit.ly/2ysbOFE --cacert ./cacert.pem | bash -s

効果がありました。

私の質問は次のとおりです

  • bit.ly証明書が失われたのはなぜですか?
  • カールがどの証明書を使用するかを自分で決定できないのはなぜですか?
  • カールがこのファイルを要求するのはなぜですか909be051.0
  • 私のやり方は安全ですか?
  • これをより簡単にできますか?

よろしくお願いします!

PS:私はすべてのVMWare仮想マシンで実行されているUbuntu 18.04.6でこれを行いました。

ベストアンサー1

おすすめ記事