我正在尝试将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)
知道问题是什么吗?
答案 0 :(得分:1)
请检查您的openssl - 配置文件设置以获取以下参数 extendedKeyUsage = clientAuth