Назад | Перейти на главную страницу

не может получить доступ к сайту с самоподписанным сертификатом; какие шаги мне нужно сделать, чтобы распознать их ЦС

Я пытаюсь получить доступ к веб-сервису через https - это сайт той же компании, но не тот же центр обработки данных. Если я бегу:

 curl --verbose -d '{"client_secret":"123abc", "client_id":"someervice"}' -H 'Content-Type: application/json' https://api.anotherdomain.com/token

Я получил:

* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, unknown CA (560):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0
curl: (60) SSL certificate problem: unable to get local issuer certificate

Используя:

# openssl s_client -showcerts -connect api.anotherdomain.com:443

Я вижу, что у них есть самоподписанный сертификат. Что я могу предпринять, чтобы убедиться, что мой сервер может получить к нему доступ? Я думаю, мне нужно добавить их самозаверяющий сертификат в формате PEM и update-ca-trust. Какие части файла PEM мне нужны для правильной работы?

Скачать сертификат:

openssl s_client -servername api.anotherdomain.com -connect api.anotherdomain.com:443> foo.crt

Если вы используете CentOS:

yum установить ca-сертификаты

update-ca-trust force-enable

cp foo.crt / etc / pki / ca-trust / source / anchors /

update-ca-trust экстракт

Если вы используете Debian:

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

sudo update-ca-сертификаты