在pycrypto中将公钥导出为二进制文件

时间:2015-01-11 01:33:22

标签: python rsa 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()

我在获取需要发送为二进制/ base64的公钥时遇到问题 我搜索了整个RSA pycrypto lib,并且没有可以将我的公共转换为二进制文件的方法。

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

1 个答案:

答案 0 :(得分:1)

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

然后,您可以使用RSA.importKey(externKey, passphrase=None)对其进行反序列化。