Kazuaki Suzuki
Kazuaki Suzuki

Reputation: 1075

How to solve [curl: (60) SSL certificate problem: self signed certificate in certificate chain]

I would like to install nvm on my Linux computer. (My Debian version is 10, Git version is 2.27. and OPENSSL version is 1.1.1d 10 Sep 2019)

I read this document https://github.com/nvm-sh/nvm#install--update-script and I input this script.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

This is the result.

 % 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: self signed certificate in certificate chain
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.

I read this document https://curl.haxx.se/docs/sslcerts.html but I could not understand what to do. Therefore, I searched the Internet and found that I need proxy configuration.

export http_proxy="http://webfilter.**********.com:8000/"
export https_proxy="http://webfilter.**********.com:8000/"

I entered these commands in my terminal and tried this script again.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

Then I get the same result.

  % 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: self signed certificate in certificate chain
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.

Next, I put this command in my terminal

curl -Is http://www.google.com | head -1 | grep 200

and I get

HTTP/1.1 200 OK

That means I don't need proxy in my case.

Next, I tried this solution.

github: server certificate verification failed

sudo apt-get install --reinstall ca-certificates
sudo mkdir /usr/local/share/ca-certificates/cacert.org
sudo wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
sudo update-ca-certificates
git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt

I have done all these command and tried again, but got the same error message.

How can can I resolve this problem?

Upvotes: 8

Views: 25803

Answers (2)

Richen Yadav
Richen Yadav

Reputation: 109

To address the cURL 60: SSL certificate problem: self-signed certificate issue, you have two main options:

Option 1: Ignore SSL Verification

In your cURL command, add the -k or --insecure

Option 2: Use a Specific SSL Certificate

If you have access to the self-signed certificate, you can configure cURL to use it. First, ensure you have the certificate file (e.g., my-cert.pem).

For curl: curl --cacert /path/to/my-cert.pem https://example.com

Upvotes: 0

Dennis Naranjo
Dennis Naranjo

Reputation: 19

Have you tried this way?

curl -k https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh

Read man curl for clarity

Upvotes: 1

Related Questions