
우분투 14.04를 사용하고 있습니다. 컬을 사용하면 다음과 같은 오류가 발생합니다.
curl: (77) error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath:
인터넷 검색에서 수집한 내용에 따르면 찾고 있는 CAfile 위치는 Ubuntu에 적합하지 않으며(내 컴퓨터에는 존재하지 않음) /etc/ssl/certs/ca-certificates.crt
올바른 위치입니다.
대부분의 솔루션에는 환경 변수를 CURL_CA_BUNDLE
적절한 위치로 설정하거나 내 홈 디렉터리에 cacert=/etc/ssl/certs/ca-certificates.crt
새로 생성된 파일을 추가하는 작업이 포함되었습니다. .curlrc
두 가지를 모두 시도했지만 문제를 완전히 해결하지 못했습니다. 컬이 이 위치를 찾고 있지만 여전히 작동하지 않고 오류가 발생합니다.
curl: (60) SSL certificate problem: self signed certificate in certificate chain
또한 Ubuntu에서 컬을 제거하고 다시 설치하고 인증서를 업데이트한 CA 인증서를 업데이트하려고 시도했지만 $ sudo update-ca-certificates --fresh
여전히 오류 60이 사라지지 않았습니다.
나는 CA 인증서에 대해 잘 알지 못하며 과거에 일부 자체 서명 인증서를 의도적으로 추가했는지 의심됩니다. 아마도 우연히, 나는 모른다.
이 문제를 해결하는 방법을 아는 사람이 있나요? 실제로 모든 인증서를 사용하여 새로 시작할 수 있는 방법이 있나요? 아니면 자체 서명된 인증서가 어디에 있는지 알아내고 이를 제거하는 방법을 아는 사람이 있나요?
추신: 저는 -k(일명 --insecure) 플래그를 사용하고 싶지 않습니다. 나는 이것이 안전하게 작동하도록하고 싶습니다.
답변1
지난 며칠 동안 이 문제에 대해 연구하고 작업한 후 작동하게 되었고, 대답은 다소 간단했습니다.
capath=/etc/ssl/certs/
내 파일에 설정해야했습니다 .curlrc
.
이로 인해 명령줄에서 컬이 작동하게 되었습니다. R에서 컬을 추가로 작동시키려면(처음 문제가 발생한 곳) 이전에 시도한 대로 파일 cacert=/etc/ssl/certs/ca-certificates.crt
에 있어야 했습니다. .curlrc
그렇지 않으면 계속해서 다음을 찾아야 했습니다./etc/pki/tls/certs/ca-bundle.crt
자체 서명된 인증서에 대한 오류가 표시되는 이유를 아직도 모르겠습니다.
다른 무작위 결과를 토대로 Curl 웹사이트에서 다음 인증서를 다운로드했습니다.
sudo wget https://curl.se/ca/cacert.pem
같은 certs
디렉토리에. cafile
이것을 지적한 것도 효과적이었습니다. 결국 나는 그것을 다시 넣었 ca-certificates.crt
지만 여전히 작동합니다.
이것이 왜 작동했는지, 무슨 일이 일어나고 있는지 정확히 이해하지 못하지만 해결되었습니다.
답변2
카필키는 나에게 작동하지 않지만(curl 7.45.0) cacert(--cacert 옵션에서)는 작동합니다. 나의.curlrc파일:
capath=/etc/ssl/certs/
cacert=/etc/ssl/certs/ca-certificates.crt
답변3
몇 번을 조사한 끝에 작동하게 되었고, 대답은 오히려 간단한 것으로 끝났습니다.
ctrl터미널 + alt+ 를 열고 t작업 디렉터리를 변경합니다.
cd /etc/ssl/certs/
pem 파일을 다운로드하세요.인증서폴더
sudo wget https://curl.se/ca/cacert.pem
이제 파일을 열어보세요.curlrc
nano ~/.curlrc
열린 파일에 아래 줄을 추가하십시오.
capath=/etc/ssl/certs/
cacert=/etc/ssl/certs/ca-certificates.crt
이제 파일을 저장하고 컬 명령을 사용하여 작업을 수행하십시오.
주의여기서는 nano 편집기를 사용했지만 어떤 편집기를 사용해도 됩니다.
답변4
Ubuntu 14.04.5의 C++ 프로그램 중 하나에서 동일한 문제에 직면했습니다. 이 .curlrc
방법은 효과가 없었습니다.
ca-certificates.crt
이 문제는 을 다운로드하고 디렉토리 아래에 /etc/ssl/certs/ca-certificates.crt
심볼릭 링크를 생성하여 해결되었습니다 .ca-bundle.crt
/etc/pki/tls/certs/
도움이 되었기를 바랍니다!