Подтвердите SSL сертификат из пользовательского пути, используя python - PullRequest
0 голосов
/ 21 февраля 2019

Я установил веб-сервер Apache.Сгенерированный SSL для веб-сайта Apache.Получил файл сертификата и ключ.Я написал фрагмент Python для проверки файла ssl для веб-сайта.Путь к файлу сертификата хранится в cer_auth.Мой код будет обращаться к файлу в cer_auth, проверять его и предоставлять результат.Но это показывает ошибку.Как ее решить?

Вот код:

import requests
host = '192.168.1.27'
host1 = 'https://'+host
#cer_auth = '/etc/ssl/certs/ca-certificates.crt'
cer_auth = '/home/paulsteven/Apache_SSL/apache-selfsigned.crt'
print(host1)
try:
    requests.get(host1, verify= cer_auth)
    print("SSL Certificate Verified")
except:
    print("No SSL certificate")

Ошибка, которую я получил:

https://192.168.1.27
/home/paulsteven/.local/lib/python3.5/site-packages/urllib3/connection.py:362: SubjectAltNameWarning: Certificate for 192.168.1.27 has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
  SubjectAltNameWarning
No SSL certificate

1 Ответ

0 голосов
/ 21 февраля 2019

Старый способ указания сертификатов на имена хостов был через поле CommonName или CN.Эта практика быстро меняется из-за изменений в том, как браузеры обрабатывают сертификаты.В настоящее время ожидается, что все имена хостов и IP-адреса в расширенных полях x509v3 в сертификате будут иметь имя subjectAlternativeNames.Инструкции, которым вы следовали, вероятно, устарели.

Это посредственное руководство для того, чтобы сделать это с OpenSSL

https://support.citrix.com/article/CTX135602

Если вы хотите подписать некоторые IP-адреса, имя поля будет IP.1 вместоDNS.1 как в ссылке выше.

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