Открыл для себя что не только Java, но и Python имеет отдельное хранилище корневых сертификатов, которое не привязано к системному. Наткнулся на это в процессе настройки приложения, которое подключается к серверу у которого сертификат подписан внутренним удостоверяющим центром (Certification Authority).
Корневой сертификат удостоверяющего центра добавлен в список доверенных (/etc/ssl/certs/ca-certificates.crt в дистрибутиве Debian) и отправка запросов на сервер через curl работает. Но приложение ругается
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.example.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)')))
Чтобы этого не происходило нужно задать переменную окружения REQUESTS_CA_BUNDLE и указать в её значении путь к системному хранилищу доверенных сертификатов.
Комментариев нет:
Отправить комментарий