seppius-xbmc-repo/ru

plugin.video.shikimori.org SSL: CERTIFICATE_VERIFY_FAILED

iG8R opened this issue · 6 comments

iG8R commented

C недавних пор плагин стал выдавать ошибку:
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>

Починилось путем отключения проверки сертификата:

def GetHTML(url):
    certoff = ssl.create_default_context()
    certoff.check_hostname = False
    certoff.verify_mode = ssl.CERT_NONE
    cookieJar = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPSHandler(context=certoff),  urllib2.HTTPCookieProcessor(cookieJar))
    connection = opener.open(url)
    html = connection.read()
    connection.close()
    return html

Но как-то это не совсем правильно.
Может быть у кого-то будут лучше идеи, каким образом сделать так, чтобы и плагин работал, и проверка сертификата проходила успешно?

Возможно проблема в устаревших(?) сертификатах на девайсе где бежит скрипт. На сайте все нормально и у меня работает валидация без проблем.

iG8R commented

Вот все сертификаты, которые имеются на той машине:

cert_2017-08-10_211937
cert_2017-08-10_212004
cert_2017-08-10_211902
cert_2017-08-10_211841
cert_2017-08-10_211802

Причем, они абсолютно те же, что и были до возникновения проблемы с плагином, хотя даты устаревших сертификатов никак не соотносятся с недавними датами.

@iG8R, грешу на сертификат, идущий с модулем urllib2.
И еще Вы не указали версию KODI.

iG8R commented

Cпасибо, что помогаете с разрешением данной ситуации.
Данная проблема возникла примерно неделю назад, до этого работало все стабильно.
Kodi v17.3 "Krypton" (32bit), затем устновил поверх него Kodi v18 "Leia" nightly (KodiSetup-20170806-1f395332e3-master-x86.exe), но это ничем не помогло, потому откатился обратно на 17.3.
Подскажите, где лежит данный сертификат, т.к. самостоятельно я его что-то не нашел - искал везде по ключевым словам "cert" и "pem", в диретокрии и поддиректориях "Kodi\system\python" тоже ничего соотвествующего нет.
Нашел следующую тему https://forum.kodi.tv/showthread.php?tid=282604 вроде бы должны были починить данный баг, но он опять как-то вылез?

за работу с ssl отвечает модуль "system\python\Lib\ssl.py", который обращается к модулю "\system\python\DLLs_ssl.pyd". Может сертификат вшит в последнем...
У Вас на устройстве дата и время правильно настроено?

iG8R commented

Хм, странно, но DLLs_ssl.pyd я вообще у себя не нашел. Посмотрел на дерево файлов каталога Kodi - в system оно вообще не изменялось с момента установки Kodi, т.е. этого файла вообще никогда у меня и не было, хотя до этого работало все нормально.
Дату я проверил в первую очередь - она синхронизируется каждые 15 минут.