Ответ 1
Когда мы используем cURL для извлечения сайта HTTPS, который не использует сертификат с сертификатом CA, возникает следующая проблема.
curl https://example.selfip.com
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
Конечно, это можно просто преодолеть, используя опцию -k.
Решение:
Шаг 1
Определите, какой каталог использует ваша установка OpenSSL.
[email protected]:~# openssl version -d
OPENSSLDIR: "/usr/lib/ssl"
Шаг 2
Перейдите в этот каталог и перечислите содержимое каталога. Вы должны увидеть каталог под названием "certs".
[email protected]:~# cd /usr/lib/ssl && ls -al
Шаг 3
Перейдите в этот каталог.
[email protected]:/usr/lib/ssl# cd certs
Перечислите содержимое каталога. Вы должны видеть из символических ссылок, что сертификаты фактически хранятся в /usr/share/ca-certificates
.
Шаг 4
Перейдите в каталог /usr/share/ca-certificates
и добавьте там самозаверяющий сертификат (например: your.cert.name.crt)
Шаг 5
Перейдите в каталог /etc
и отредактируйте файл ca-certificates.conf
.
[email protected]:# cd /etc
[email protected]:# nano ca-certificates.conf
Добавьте your.cert.name.crt
в файл (ca-certificates.conf
) и сохраните его.
Последний шаг:
Выполнить программу update-ca-certificates –fresh
.
Примечание. Перед выполнением команды вам может потребоваться резервное копирование /etc/ssl/certs
.
[email protected]:# update-ca-certificates --fresh
Clearing symlinks in /etc/ssl/certs...done.
Updating certificates in /etc/ssl/certs....done.
Running hooks in /etc/ca-certificates/update.d....done.
Тест с завихрением на вашем целевом сайте HTTPS, и он должен работать сейчас.