Думаю многие сталкивались с ситуацией, когда linux не распознает корректно подписанные сертификаты при использовании https
Например:
Это происходит из-за отсутствия в файле ca-bundle.crt корневого сертификата центра, подписавшего сертификат сайта. В случае с github отсутствует сертификат фирмы DigiCert Inc.
Для решения этой проблемы нужно обновить ca-bundle с сайта curl:
Причем обновление пакета openssl не затирает этот файл:
Например:
$ wget 'https://github.com' --2011-12-30 20:45:26-- https://github.com/ Resolving github.com... 207.97.227.239 Connecting to github.com|207.97.227.239|:443... connected. ERROR: cannot verify github.com's certificate, issued by `/C=US /O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV CA-1': Unable to locally verify the issuer's authority. To connect to github.com insecurely, use `--no-check-certificate'. Unable to establish SSL connection.
$ git clone https://github.com/rails/rails Cloning into rails... error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/rails/rails/info/refs fatal: HTTP request failed
Это происходит из-за отсутствия в файле ca-bundle.crt корневого сертификата центра, подписавшего сертификат сайта. В случае с github отсутствует сертификат фирмы DigiCert Inc.
Для решения этой проблемы нужно обновить ca-bundle с сайта curl:
curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt
Причем обновление пакета openssl не затирает этот файл:
Running Transaction Updating : openssl 1/4 warning: /etc/pki/tls/certs/ca-bundle.crt created as /etc/pki/tls/certs/ca-bundle.crt.rpmnew