私はmacOS 10.15.5がインストールされているMacbookを使用しています。 MacPortsがありますがcurl
。
% curl --version
curl 7.64.1 (x86_64-apple-darwin19.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2
Release-Date: 2019-03-27
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS GSS-API HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL UnixSockets
最新のd / lを試みると、youtube-dl
証明書エラーが発生します。
% sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.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.
「上記のWebページ」を見ましたが、解決策が見つかりませんでした。 GitHubのyoutube-dl管理者は、証明書が有効で最新であると主張しています。彼らは提供したこの文書は「回答」として機能します。しかし、私はそれに何の役に立たなかった。curl
問題なく他のSSL Webページをダウンロードできるため、問題がこの証明書/サイトに限定されているとします。
私はこの問題を経験したことがありません。 Mojaveがインストールされた古いMacbookがあります。youtube-dl
問題なく何度も更新または再インストールしましたが、今は失敗します。しかし、curl
Ubuntu Linuxボックスで同じコマンドを実行することができ、うまく動作します。私はこれが両方のMacに「何かが欠けている」ことを意味すると推測する必要があります。 Mojave Macにはかつてありましたが削除されました。
curl
SSL証明書を処理するには、Macで何をすべきですか?
答え1
報告によると、これは期限切れの証明書とLibreSSlに問題があるようです。https://curl.haxx.se/mail/lib-2020-06/0010.html。考えられる解決策は
curl -k
影響を受けたウェブサイトで使用されました。ただし、これにより証明書の検証が無効になるため、少し危険があります。- (カトリーナパート1)スーツ
CURL_SSL_BACKEND=secure-transport
- (すべてのmacOSバージョンで)以下を
brew install curl
使用してホームブルーバージョンを取得するには、PATHを実行して設定します。export PATH="/usr/local/opt/curl/bin:$PATH"
PS:以下の手順に従って新しい証明書を読み込むこともできます。https://curl.haxx.se/docs/caextract.htmlただし、ロードした後も同じエラーが発生します。
ポリフェニレンエーテル:https://security.stackexchange.com/questions/232445/https-connection-to-特異的-sites-fail-with-curl-on-macosAddTrust
などの代替ソリューションを含む、これに関する追加情報があります/etc/ssl/cert.pem
。