【发布时间】:2019-06-13 17:13:59
【问题描述】:
如何解码 DER/PEM 格式的 IPFS 私钥和公钥,可以与 pycryptodome 库(对于 Python 3)一起使用?我从 IPFS 配置文件中获取密钥作为字符串,所以我不会在这里解释这个过程。
我想做什么:
import base64, Crypto
publicKey = "CAASpgIwgE ... jkupAgMBAAE="
privateKey = "CAASqQkwgg ... Xmzva/Km7A=="
publicKey = base64.b64decode(publicKey)
key = Crypto.PublicKey.RSA.import_key(publicKey)
crypter = Crypto.Cipher.PKCS1_OAEPPKCS1_OAEP.new(key)
encryptedData = crypter.encrypt(data.encode())
result = base64.b64encode(encryptedData).decode()
我得到以下异常:
key = Crypto.PublicKey.RSA.importKey(publicKey)
File "/usr/local/lib/python3.6/site-packages/Crypto/PublicKey/RSA.py", line 754, in import_key
raise ValueError("RSA key format is not supported")
privateKey 的类似问题。密钥是什么格式以及如何将其转换为可接受的格式?
import_key函数源码有:https://github.com/Legrandin/pycryptodome/blob/master/lib/Crypto/PublicKey/RSA.py#L682
【问题讨论】:
标签: python rsa pycrypto ipfs pycryptodome