我正在使用OpenSSL生成密钥,从stdin提供密码:
openssl genpkey -algorithm RSA -out private-key.pem -outform PEM -pass stdin -des3 -pkeyopt rsa_keygen_bits:4096
那么这个密钥看起来像这样:
-----BEGIN ENCRYPTED PRIVATE KEY-----
XXX...
-----END ENCRYPTED PRIVATE KEY-----
我的Python代码如下:
from Crypto.PublicKey import RSA
# ...
f = open('private-key.pem', 'r')
r = RSA.importKey(f.read(), passphrase='some-pass')
f.close()
但我收到了一个异常:
File "/usr/lib/python2.7/dist-packages/Crypto/PublicKey/RSA.py", line 665, in importKey
return self._importKeyDER(der)
File "/usr/lib/python2.7/dist-packages/Crypto/PublicKey/RSA.py", line 588, in _importKeyDER
raise ValueError("RSA key format is not supported")
ValueError: RSA key format is not supported
有什么问题吗?
是否可以生成加密的RSA密钥,将其存储在文件中,并稍后使用PyCrypto使用它?是否可以使用OpenSSL进行此操作?支持哪些格式?
导入公钥很好用,但它没有加密。