如何使用公钥加密?
msg = "this is msg to encrypt"
pub_key = M2Crypto.RSA.load_pub_key('mykey.py') // This method is taking PEM file.
encrypted = pub_key.public_encrypt(msg, M2Crypto.RSA.pkcs1_padding)
现在我想把一个包含radix64格式公钥的文件作为参数传递给这个方法,但我无法得到预期的结果,也就是用radix64格式的公钥进行加密。
在Python的API中有没有其他方法可以在尝试了一些机制后,用公钥加密消息呢?
我从公钥服务器获取我的公钥,它是带有一些HTML包装的radix64格式。请问我该如何转换这个公钥,以便它能被任何加密方法接受呢?
3 个回答
0
公钥的某个地方出错了。看起来这是一个PGP公钥,但它的每行长度不一样,所以不能直接当作RSA公钥来使用。
1
你之前问过这个问题吗?看看我对这个问题的回答,
6
如果有人在找这个问题,我之前也遇到了同样的错误信息:
M2Crypto.RSA.RSAError: no start line
在我的情况下,发现我的键是unicode类型。通过把键转换回ascii格式,这个问题就解决了:
key.encode('ascii')