RSA_public_decrypt()的Python3 OpenSSL绑定

时间:2014-03-29 14:32:07

标签: python cryptography openssl rsa

python 3.4中是否有任何openssl绑定从libopenssl绑定函数RSA_public_decrypt(),允许我们使用公钥解密内容?出于某种原因,我需要在一个项目中这样做。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我发现这个有点hacky(请注意 *。hazmat。* 导入)解决方案

def do_decrypt_cryptography(message, private_key):
    from cryptography.hazmat.primitives import hashes
    from cryptography.hazmat.primitives.asymmetric import padding
    return private_key.decrypt(message,
                               padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA1()),
                                            algorithm=hashes.SHA1(),
                                            label=None))

答案 1 :(得分:1)

您是否尝试过M2Crypto库?看起来M2Crypto.RSA.RSA类具有public_decrypt(self, data, padding)函数。 M2Crypto是OpenSSL的Python包装器,但我不确定public_decrypt函数是否直接调用C OpenSSL RSA_public_decrypt()函数。如果你走这条路,我要仔细检查来源以确保。

http://www.heikkitoivonen.net/m2crypto/api/