curl: (77) error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
curl cannot read the CA bundle file it is configured to use — missing file, wrong path or permissions.
curl: (77) error setting certificate verify locationserror setting certificate verify locations: CAfile:error setting certificate file: /etc/ssl/certs/ca-certificates.crtCAfile: /etc/ssl/certs/ca-certificates.crt CApath: none Meaning
Install ca-certificates (Linux) or fix CURL_CA_BUNDLE/SSL_CERT_FILE. In Docker images (alpine, slim) the bundle is often absent. On Git for Windows a bad http.sslCAInfo path causes the same error.
Common causes
- ca-certificates package not installed
- CURL_CA_BUNDLE/SSL_CERT_FILE pointing to a missing file
- Permission denied on the bundle
- Git
http.sslCAInfopath wrong - Broken symlink after OS upgrade
⚡ Quick fix
apt-get install -y ca-certificates && update-ca-certificates- Unset or correct CURL_CA_BUNDLE / SSL_CERT_FILE
- Fix
git config --global http.sslCAInfo
Detailed fix by platform
Linux
ls -l /etc/ssl/certs/ca-certificates.crt; env | grep -E "CA_BUNDLE|SSL_CERT"
How to diagnose
- File — Exists and readable?
- Env — Variables set?
- Image — ca-certificates installed?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- AH01909: server certificate does NOT include an ID which matches the server name Apache: [ssl:warn] AH01909: example.com:443:0 server certificate does NOT include an ID which matches the server name
- CRYPT_E_NO_REVOCATION_CHECK curl (Windows Schannel): schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK (0x80092012) - The revocation function was unable to check revocation for the certificate
- curl: (60) SSL certificate problem curl: (60) SSL certificate problem: unable to get local issuer certificate
Most viewed in SSL / TLS
- NET::ERR_CERT_COMMON_NAME_INVALID NET::ERR_CERT_COMMON_NAME_INVALID: Your connection is not private (certificate is for a different domain)
- Challenge failed for domain Let’s Encrypt / Certbot: Challenge failed for domain example.com — Invalid response from http://example.com/.well-known/acme-challenge/x: 404
- no start line OpenSSL: unable to load certificate / PEM routines:get_name:no start line (key values mismatch)
Other ways to find it
Where this error sits
Origin: Network. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 4 Nov 2026