Проверка сертификата Python 2.7 [SSL: CERTIFICATE_VERIFY_FAILED] завершилась неудачно (_ssl.c: 618)> - PullRequest
0 голосов
/ 12 февраля 2019

Я портирую проект django с RHEL5 на RHEL7 и python 2.5 на 2.7.5, и у меня возникают проблемы с сертификатами.Часть кода, которую я устраняю, является вызовом suds Client веб-службы WSDL client = Client(_LDAP_URLS[env]), где LDAP_URLS уже определен в коде.Я импортировал его, используя from suds.client import Client

. Я думаю, что это скорее проблема взаимодействия между Linux и Python между двумя версиями, чем проблема с кодом, но я могу ошибаться.Вот полный код.(кстати, это django, так что это файл view.py)

from django.conf import settings
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render_to_response

from suds.client import Client
from suds.wsse import Security
import suds
from gaic.security.sso import BinarySecurityToken
from ud_data_extract import UDDataExtractForm



_LDAP_URLS = {WSDL URLS HARD CODED HERE}

def _get_person(env='production', hid=None, vid=None, token=None, group=None):
    if env not in _LDAP_URLS:
        env = 'production'
    if token:
        client = Client(_SSO_URLS[env])
        try:
            person = client.service.getPersonFromToken(token)
            hid = person['hid']
        except Exception:
            return None
    try:
        client = Client(_LDAP_URLS[env])
    except Exception as e:
        log.error("line 165: %s", e)

    if group:
        grp = client.factory.create('groupDto')
        grp.name = group
        users = client.service.getGroupMembers(grp)
        groups = []
        try:
            group_ = client.service.getGroup(grp)
            gnamere = re.compile(r'cn=([^,]+),')
            for gname in group_.uniqueMembers:
                m = gnamere.match(gname)
                if m:
                    group_name = m.groups(1)[0]
                    groups.append(group_name)
            groups.sort()
        except Exception, e:
            pass  # groups = [str(e)]
        return [users, groups]
    person = client.factory.create('personDto')
    if hid:
        person.hid = hid
    if vid:
        person.vid = vid
    user = None    

Проблема в моих записях указывает на строку 165, я удалил некоторый код с URL-адресами нашей компании, поэтому он можетбыть в 150-х годах.Это в выражении try.

try:
            client = Client(_LDAP_URLS[env])
        except Exception as e:
            log.error("line 165: %s", e)

Я осмотрелся и эта страница сказала, что это может быть проблемой с более новой версией python и указала на эту документацию redhat чтобы исправить это, но я действительно не знаю, что с этим делать.

Заранее спасибо за помощь.

...