如何解码 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