将 public 密钥导出到 pycrypto 中的二进制文件

Exporting public key into binary in pycrypto

我正在使用 python 2 和 pycrypto 并生成我的密钥。

random_generator = Random.new().read
self.parent.private_key = RSA.generate(1024, random_generator)
self.parent.public_key = self.parent.private_key.publickey()

我在获取 public 密钥时遇到问题,我需要将其作为 binary/base64 发送 我搜索了整个 RSA pycrypto 库,没有方法可以将我的 public 转换为二进制文件。

有人可以看看并帮助我吗?

可以使用_RSAobj.exportKey(self, format='PEM', passphrase=None, pkcs=1)函数序列化key(_RSAobj是key对象的实现)。如果您使用 DER 格式,它将使用二进制编码而不是 PEM 的文本编码。使用 DER 时,您可能还需要使用 Base64 对其进行编码。

然后您可以使用 RSA.importKey(externKey, passphrase=None).

反序列化它