簡體   English   中英

OpenSSL 加密錯誤:[('PEM 例程','PEM_read_bio','無起始行')]

[英]OpenSSL crypto error: [('PEM routines', 'PEM_read_bio', 'no start line')]

嘗試讀取證書時出現以下錯誤:

OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start line')]

運行OpenSSL.crypto.load_certificate(FILETYPE_PEM, filename) 我進行了一些研究,但無法找到特定於我的案例的答案。

我嘗試檢查文件是否存在os.path.isfile(filename)返回True ,但加載證書只會引發上述錯誤。

此外,在終端openssl X509 -in file.pem上執行時,它的作用就像一個魅力。

file.pem 看起來像這樣:

-----BEGIN CERTIFICATE-----
<<sensitive data>>
-----END CERTIFICATE-----

這似乎是有效的,因為我能夠在終端上執行基本的openssl操作。 如果有幫助,我正在運行 CentOS 7。

有什么想法嗎?

謝謝!

根據http://www.pyopenssl.org/en/stable/api/crypto.html#OpenSSL.crypto.load_certificateload_certificate()需要一個包含證書的緩沖區(字符串可以),而不是文件名。

你需要做的:

with open(filename, "r") as my_cert_file:
    my_cert_text = my_cert_file.read()
    cert = load_certificate(FILETYPE_PEM, my_cert_text)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM