Добавьте самоподписанный сертификат в Ubuntu для использования с curl - PullRequest
7 голосов
/ 24 февраля 2011

Я занимаюсь разработкой программы, в которой у меня есть виртуальный сервер разработки, который работает с самозаверяющим сертификатом. Моя программа использует curl для подключения к серверу и получения информации, но для этого нужно использовать SSL. Когда я пытаюсь подключиться, я получаю сообщение об ошибке «Проблема с сертификатом SSL, убедитесь, что сертификат CA в порядке». При запуске Firefox я могу добавить сертификат только в Firefox, но это не поможет мне с curl. Как добавить сертификат для распознавания curl?

curl 7.19.7 (x86_64-pc-linux-gnu) libcurl / 7.19.7 OpenSSL / 0.9.8k zlib / 1.2.3.3 libidn / 1.15 Протоколы: tftp ftp telnet dict ldap ldaps http файл https ftps Особенности: GSS-согласование IDN IPv6 Largefile NTLM SSL libz

Ubuntu 10.04 Lucid Lynx 64bit

Ответы [ 3 ]

10 голосов
/ 06 июля 2011

Это один способ, который сработал для меня:

Во-первых, получите сертификат CA из домена разработки и сохраните его в файл с именем 'logfile'.(Предполагается, что порт 443 для SSL)

openssl s_client -connect xxxxx.com:443 |tee logfile

Затем используйте опцию --cacert curl, чтобы использовать сохраненный файл сертификата.

curl --cacert logfile **THE REST OF YOUR CURL COMMAND**

Источник: http://curl.haxx.se/docs/sslcerts.html

7 голосов
/ 31 августа 2015

Я бы скопировал сертификат в /usr/local/share/ca-certificates/.

Позвольте мне процитировать справочную страницу для update-ca-сертификаты :

Кроме всехсертификаты с расширением .crt, найденные ниже / usr / local / share / ca-Certificates, также включены как неявно доверенные.

5 голосов
/ 11 ноября 2013

Добавьте свой rootCA.pem в каталог /usr/share/ca-certificates.

После этого обновите сертификаты командой: update-ca-certificates --fresh.

Я только что сделал это, и отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...