`curl` macOS에서 SSL 인증서에 액세스하는 방법은 무엇입니까?

`curl` macOS에서 SSL 인증서에 액세스하는 방법은 무엇입니까?

저는 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.

"위 웹페이지"를 살펴봤지만 해결책을 찾지 못했습니다. GitHub의 youtube-dl 관리자는 인증서가 유효하고 최신 상태라고 주장합니다. 그들은 제공했다이 문서는 "답변" 역할을 합니다., 그러나 나는 그것에 어떤 쓸모도 찾지 못했습니다. curl문제 없이 다른 SSL 웹 페이지를 다운로드할 수 있으므로 문제가 이 인증서/사이트에만 국한된 것으로 가정합니다.

나는 이런 문제를 겪은 적이 없습니다. Mojave가 설치된 구형 Macbook을 가지고 있습니다. youtube-dl문제 없이 여러 번 업데이트하거나 재설치했지만 이제는 실패합니다. 그러나 curlUbuntu Linux 상자에서 동일한 명령을 실행할 수 있으며 훌륭하게 작동합니다. 나는 이것이 두 Mac 모두에 "뭔가가 빠졌다"는 것을 의미한다고 추측해야 합니다. Mojave Mac에는 한때 있었지만 제거된 것입니다.

curlSSL 인증서를 처리 하려면 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"

추신: 아래 지침에 따라 새 인증서를 로드해 볼 수도 있습니다.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.

관련 정보