Устранение ошибки «Издатель сертификата узла не распознан» в соединениях SSL/TLS

Сообщение об ошибке «Издатель сертификата узла не распознан» обычно появляется, когда клиент пытается установить безопасное соединение с сервером, но сертификат SSL/TLS сервера выдан непризнанным или ненадежным центром сертификации (CA). Ниже приведены несколько способов решения этой проблемы, а также примеры кода:

  1. Отключить проверку сертификата (не рекомендуется):

    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)
  2. Добавьте сертификат ЦС в доверенное хранилище:

    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. Указав путь к файлу пакета ЦС, вы можете доверять сертификатам, выданным включенными ЦС.

  3. Добавьте сертификат 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.

  4. Обновите сертификаты доверенного центра сертификации системы.
    Этот метод зависит от операционной системы и библиотеки веб-клиента, которую вы используете. Вам необходимо обновить сертификаты доверенного центра сертификации системы, включив в них центр сертификации, выдавший сертификат сервера.