crypto.load_certificate() 抛出 'no start line'

crypto.load_certificate() throws 'no start line'

我正在尝试使用 以下命令


!/usr/bin/python

从 OpenSSL 导入加密,SSL

crypto.load_certificate(crypto.FILETYPE_PEM, 'ca_file.pem')

但是执行后出现如下错误

回溯(最近调用最后): 文件 "cert_from_sign_req.py",第 13 行,位于 "ca_file.pem") 文件 "build/bdist.linux-x86_64/egg/OpenSSL/crypto.py",第 1511 行,在 load_certificate 中 文件 "build/bdist.linux-x86_64/egg/OpenSSL/_util.py",第 48 行,在 exception_from_error_queue 中 OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start line')]

有人可以帮助我了解问题所在吗?

已经找到原因。我的示例代码是使用 docs.genati.org 中的文章编写的 http://docs.ganeti.org/ganeti/2.14/html/design-x509-ca.html 但显然有一个错误。问题是最后一个参数应该是文件缓冲区而不是路径位置。 它应该是 crypto.load_certificate(crypto.FILETYPE_PEM, 文件('ca_file.pem').read())