如何在Python中使用RSA库显示签名的实际值?

时间:2016-09-23 15:59:59

标签: python rsa digital-signature

我使用RSA library使用公钥检查数字签名,如下所示:

rsa.verify(message, sig, key)

该功能按预期工作,但是对于不正确的情况,库打印出来

rsa.pkcs1.VerificationError: Verification failed

我想查看实际的计算值,以便我可以将其与预期值进行比较。有没有办法打印出来而不调整库的内部?

1 个答案:

答案 0 :(得分:1)

使用verify()方法作为模板:

from rsa import common, core, transform

keylength = common.byte_size(base)
decrypted = core.decrypt_int(sig, exp, base)
clearsig = transform.int2bytes(decrypted, keylength)

假设您的签名为sig,公钥的模数和exp分别为baseexp

最后要注意的是,您的哈希可能在开头包含填充。当我使用SHA-256时,我不得不查看clearsig的最后32个字节。