Сообщение об ошибке «Издатель сертификата узла не распознан» обычно появляется, когда клиент пытается установить безопасное соединение с сервером, но сертификат SSL/TLS сервера выдан непризнанным или ненадежным центром сертификации (CA). Ниже приведены несколько способов решения этой проблемы, а также примеры кода:
-
Отключить проверку сертификата (не рекомендуется):
import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning # Disable SSL certificate verification requests.packages.urllib3.disable_warnings(InsecureRequestWarning) # Make a request to the server response = requests.get('https://example.com', verify=False) -
Добавьте сертификат ЦС в доверенное хранилище:
import requests import certifi # Get the path to the CA bundle file ca_bundle_path = certifi.where() # Make a request to the server response = requests.get('https://example.com', verify=ca_bundle_path)Этот метод основан на библиотеке
certifi, которая предоставляет набор сертификатов CA. Указав путь к файлу пакета ЦС, вы можете доверять сертификатам, выданным включенными ЦС. -
Добавьте сертификат CA вручную:
import requests # Path to the CA certificate file ca_cert_file = '/path/to/ca_certificate.crt' # Make a request to the server response = requests.get('https://example.com', verify=ca_cert_file)В этом методе вам необходимо получить файл сертификата CA и указать его путь в параметре
verify. -
Обновите сертификаты доверенного центра сертификации системы.
Этот метод зависит от операционной системы и библиотеки веб-клиента, которую вы используете. Вам необходимо обновить сертификаты доверенного центра сертификации системы, включив в них центр сертификации, выдавший сертификат сервера.