验证证书时出现python [SSL] PEM lib(_ssl.c:3309)错误

时间:2017-03-14 15:00:38

标签: python python-3.x ssl ssl-certificate

我正在尝试将POST消息发送到Web服务器。 为了做到这一点,我使用python请求并尝试将证书作为参数传递给requests.post方法。

它看起来像那样:

    if method_type == METHOD_TYPE_GET:
        resp = requests.get(base_url, data=request_data, verify=True, headers=headers, cert=certificate)
    if method_type == METHOD_TYPE_POST:
        resp = requests.post(base_url, data=request_data, verify=True, headers=headers, cert=certificate)
    return resp

当'certificate'是pem文件的路径时,该文件包含服务器的证书。该文件的格式为:

----- BEGIN CERTIFICATE -----

-base64data -

----- END CERTIFICATE -----

当我尝试执行post方法时,我得到一个例外:[SSL] PEM lib(_ssl.c:3309)

知道问题是什么吗?

1 个答案:

答案 0 :(得分:1)

请检查您的openssl - 配置文件设置以获取以下参数 extendedKeyUsage = clientAuth