python / certifi / core.py говорит, что ищет местоположение cacert.pem - но в моей установке debian их 3 - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь выяснить, возникли ли какие-либо ошибки TLS во время рукопожатия из-за конфликтующего cacert.pem или чего-то еще при использовании модуля certifi в python 2.7, или вообще это связано с модулем certifi.В качестве примера, скажем, программа на python вызывает модуль certifi, импортируя certifi и вызывая его с помощью certifi ().

Я просматривал файлы пакета certifi для папки python 2.7 dist и видел это внутри core.py (как внутри pip / _vendor one, так и в обычной папке certifi:

def where():
    f = os.path.dirname(__file__)

    return os.path.join(f, 'cacert.pem')

Но мой RaspbianВ системе есть 3 файла с именем cacert.pem, которые перечислены ниже:

/etc/ssl/certs/cacert.pem
/usr/local/lib/python2.7/dist-packages/pip/_vendor/certifi/cacert.pem
/usr/local/lib/python2.7/dist-packages/certifi/cacert.pem

Поэтому я предполагаю, что мой вопрос таков: исполняется ли этот файл core.py каким-то образом и каким образом модуль certifi находити использует файл cacert.pem всякий раз, когда вы вызываете функцию в программе Python?

В качестве примера, скажем, часть программы Python говорит: хорошо, когда этот URL вызывается, используйте certifi, чтобы проверить, еслиСертификат SSL действителен. Затем эта функция core.py, которая ищет файл cacert.pem в системе, находит его где-то, чтобы его можно было использовать при проверке сертификатов SSL, если в моей системе есть эти 3 расположения для этого файла (которые отличаютсясодержимое, размер и т. д.)

pi@screenlypi3:~ $ sudo find / | grep cacert.pem | xargs ls -lah
-rw-r--r-- 1 pi   pi    215K Apr  7 23:56 /etc/ssl/certs/cacert.pem
-rw-r--r-- 1 root staff 263K Mar 26 02:08 /usr/local/lib/python2.7/dist-packages/certifi/cacert.pem
-rw-r--r-- 1 root staff 270K Mar 26 01:30 /usr/local/lib/python2.7/dist-packages/pip/_vendor/certifi/cacert.pem

как узнать, какой файл используется для проверки сертификата SSL?

...