Python 中的错误:[SSL] PEM 库 (_ssl.c:4045)

Error in Python: [SSL] PEM lib (_ssl.c:4045)


我对 Python 中的一个错误有疑问。我正在尝试通过证书文件访问 API。
这是我实现的代码:
import base64
import ssl

certificate_file = "s2s-prod.cer"
certificate_secret = "UEbQ67AubZBK"
context = ssl.SSLContext()
context.load_cert_chain(certfile=certificate_file, password=certificate_secret)

当我尝试 运行 代码时,出现此错误:SSLError: [SSL] PEM lib (_ssl.c:4045)。我决定检查第 4045 行的文件 _ssl.c,看看这个错误是什么。

if (capath && !PyUnicode_FSConverter(capath, &capath_bytes)) {
    if (PyErr_ExceptionMatches(PyExc_TypeError)) {
        PyErr_SetString(PyExc_TypeError,
                        "capath should be a valid filesystem path");
    }
    goto error;
}

另外,我检查了证书文件,密码是正确的,所以我不明白为什么会出现这个错误。
有人可以向我解释这个错误是什么意思吗?
是因为给我的证书不起作用还是因为我在代码中做错了什么?
我用另一个证书进行了测试并且它正在工作,所以我想知道我应该在 certfile 中输入什么样的输入。
预先感谢您,如果您需要更多解释,请告诉我(我尽量提供尽可能多的信息)。

好的,我找到了解决方案: 我使用 OpenSSL 命令提示符和以下命令重新 运行 证书:

openssl pkcs12 -in clear-s2s-prod.pfx -out cfsb-prod.cer -nodes

command prompt ssl