Ошибка SSL с Python, но тест сервера дает все оценки A+

В прошлом году я написал скрипт Python для запроса базы данных EDGAR Комиссии по ценным бумагам и биржам, чтобы получить их индекс документов компаний за разные годы и кварталы. В то время скрипт работал нормально, но недавно я восстановил его и обнаружил, что теперь я получаю ошибки SSL: CERTIFICATE_VERIFY_FAILED при каждом его запуске.

Я выполнил тест SSL-сервера по следующему пути: https://www.sec.gov/Archives/edgar/full-index/2018/QTR2/company.idx

В отчете указаны все проходы для сертификата (ссылка здесь)

Также интересно, что если вы переходите непосредственно к пути в браузере, возвращается ошибка «Отказано в доступе». Если я правильно помню, в прошлом это приводило к загрузке индексного файла. Я знаю, что база данных EDGAR Комиссии по ценным бумагам и биржам недавно подверглась некоторой реструктуризации, поскольку они больше не поддерживают службы FTP.

Кто-нибудь знает, что здесь может происходить и почему я получаю ошибки SSL?

Для дополнительной информации я использую urllib.request.urlopen().

Заранее спасибо.


person JEK    schedule 08.06.2018    source источник
comment
У меня работает без проблем. Это означает, что это, вероятно, проблема, связанная с вашей настройкой. Может быть, сейчас есть какой-нибудь брандмауэр, перехватывающий SSL?   -  person Steffen Ullrich    schedule 08.06.2018
comment
Проверьте ЦС сертификата (который мог измениться), возможно, его нет в вашем хранилище доверенных сертификатов.   -  person Patrick Mevzek    schedule 08.06.2018


Ответы (1)


Немного покопался, но нашел ответ на этот вопрос. Полная благодарность Крейгу Гленни, который разместил ответ в ответ на вопрос в другом месте на Stack Overflow: urllib и SSL: ошибка CERTIFICATE_VERIFY_FAILED

Я не знал, что стандартный Python 3.6, установленный в OS-X, не имеет сертификатов (как подробно описано в файле ReadMe.rtf с Python 3.6). Запуск /Applications/Python\ 3.6/Install\ Certificates.command все уладил.

person JEK    schedule 23.06.2018