Python 2.7 [SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:618)>

时间:2019-02-12 17:57:02

标签: python django ssl ssl-certificate redhat

我正在将Django项目从RHEL5移植到RHEL7,将python 2.5移植到2.7.5,并且遇到证书问题。我要解决的代码部分是对Web服务WSDL client = Client(_LDAP_URLS[env])的suds客户端调用,其中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行左右,我用我们公司的wsdl url取出了一些代码,所以可能在150年代。在try语句中。

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

我环顾四周,this page表示使用较新版本的python可能会出现问题,并指出this redhat documentation对其进行修复,但我真的不知道该如何处理。

预先感谢您的帮助。

0 个答案:

没有答案