【发布时间】:2016-09-04 09:19:54
【问题描述】:
我在尝试读取证书时收到以下错误:
OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start line')]
在运行OpenSSL.crypto.load_certificate(FILETYPE_PEM, filename) 时。我进行了一些研究,但无法找到特定于我的案例的答案。
我尝试使用返回True 的os.path.isfile(filename) 检查文件是否存在,但加载证书只会引发上述错误。
另外,当在终端 openssl X509 -in file.pem 上执行时,它就像一个魅力。
file.pem 如下所示:
-----BEGIN CERTIFICATE-----
<<sensitive data>>
-----END CERTIFICATE-----
这似乎是有效的,因为我能够在终端上执行基本的openssl 操作。我正在运行 CentOS 7,如果有帮助的话。
有什么想法吗?
谢谢!
【问题讨论】:
-
您的 PEM 文件是否在 base64 部分之前包含 ` -----BEGIN CERTIFICATE-----` 或 ` -----BEGIN X509 CERTIFICATE-----` 行?
-
也许您可以分享您的 PEM 内容 - 如果 PEM 敏感,请删除除 base64 第一行以外的所有内容
-
是的,PEM 确实包含所有开始/结束证书行,我会将其添加到我的帖子中
标签: python openssl certificate