因此,我使用JIRA-Python模块连接到我公司在JIRA上的实例,它要求我为此传递证书和密钥。但是,使用OpenSSL模块时,我无法读取本地证书和密钥来传递请求。
用于阅读的代码如下
import OpenSSL.crypto
c = open('/Users/mpadakan/.certs/mpadakan-blr-mpsot-20160704.crt').read()
cert = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, c)我得到的错误是
Traceback (most recent call last):
File "flaskApp.py", line 19, in <module>
cert = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, c)
TypeError: must be X509, not str谁能告诉我如何将本地的.crt和.key文件读入x509对象?
发布于 2017-09-14 04:48:48
@can-ibanoglu是对的:
import OpenSSL.crypto
cert = OpenSSL.crypto.load_certificate(
OpenSSL.crypto.FILETYPE_PEM,
open('/tmp/server.crt').read()
)
>>> cert
<OpenSSL.crypto.X509 object at 0x7f79906a6f50>发布于 2016-08-30 22:51:43
.crt文件中的哪种格式。有没有:
以-----BEGIN CERTIFICATE-----
MI字符开头的二进制数据\x30字节开头的二进制数据-在前两种情况下,有PEM格式,但在第二种情况下,您遗漏了开始行,只需添加它来获得正确的PEM文件或使用base64将文件转换为二进制文件,然后获得第三种情况。
在第三种情况下,您使用的是DER格式,因此要加载它,您应该使用OpenSSL.crypto.FILETYPE_ASN1
https://stackoverflow.com/questions/38782787
复制相似问题