加载私钥失败,并显示OpenSSL.crypto.Error:[]

所有工人都是必不可少的

我正在尝试使用带有以下内容的OpenSSL加载私钥:

from OpenSSL import crypto

PRIVATE_KEY = 'private_key.pem'
with open(PRIVATE_KEY, 'rb') as fh:
    private_key = crypto.load_privatekey(crypto.FILETYPE_PEM, fh.read(), '')

但我收到此无用的错误:

Traceback (most recent call last):
  File "keytest.py", line 5, in <module>
    private_key = crypto.load_privatekey(crypto.FILETYPE_PEM, fh.read(), '')
  File "/usr/local/lib/python2.7/dist-packages/OpenSSL/crypto.py", line 2010, in load_privatekey
    _raise_current_error()
  File "/usr/local/lib/python2.7/dist-packages/OpenSSL/_util.py", line 22, in exception_from_error_queue
    raise exceptionType(errors)
OpenSSL.crypto.Error: []

我可以找到的唯一对此错误的参考是Twisted Python,TLS和客户端/服务器证书身份验证错误但是,作者不小心尝试使用twisted.internet.ssl.PrivateCertificate.loadPEM()(最终OpenSSL.crypto.load_privatekey())而不是twisted.internet.ssl.Certificate.loadPEM()(最终OpenSSL.crypto.load_certificate()将公共证书作为私钥加载

是什么原因造成的?

所有工人都是必不可少的

在至少两种情况下,加载私钥会导致错误:

OpenSSL.crypto.Error: []

1)如果私钥已加密,但是您不希望它被加密。即,私钥包含:

-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----

代替:

-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

2)如果私钥已加密,但是您提供的密码错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在磁盘上保存和加载crypto / rsa私钥

在Crypto ++中从内存加载密钥

使用Crypto ++从字符串导入私钥

Web Crypto API无法导入openssl密钥

M2crypto签名与OpenSSL签名

使用crypto ++库验证openssl签名

外部链接crypto / rc4.a失败

使用M2Crypto从私钥动态提取公钥

从字符串 Crypto++ 导入 RSA 公钥/私钥

crypto / sha1不匹配openssl命令

错误:尝试导入节点标准库模块“ crypto”。失败了

失败(回跳,冲突集:cardano-crypto-class)

PyCharm IDE 不会从 Crypto.Cipher 导入 AES 加载

如何修复“存储私钥失败?” Error01 问题?

M2Crypto.SMIME.PKCS7_Error: 没有内容

Crypto.sign() 函数使用给定的私钥对消息进行签名

设置crypto ++

为什么 docker-compose 突然失败并显示 ERROR 内部加载元数据?

从PEM文件加载(生成的OpenSSL)DSA私钥

SHA256哈希算法使用Common Crypto和OpenSSL在iOS中产生不同的结果

Helgrind报告的OpenSSL libcrypto.1.0.0 CRYPTO_malloc()中可能的数据争用条件

javax.crypto.IllegalBlockSizeException:密码函数:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH

Java javax.crypto和PHP openssl_decrypt不相同

openssl -aes-128-ecb加密与python Crypto.Cipher AES加密不匹配

OpenSSL Crypto开发库未正确安装在所需位置

在 Node.JS Crypto (aes-256-cbc) 中加密,然后在 OpenSSL CLI 中解密

如何修复stream_socket_enable_crypto():SSL操作失败,代码为1

本地主机和“ stream_socket_enable_crypto():SSL操作失败,代码为1”

Windows 上的 Corda gradle 安装失败:“无法解析 net.i2p.crypto:eddsa:0.2.0”