SecKeyRawSign SHA256withRSA:怎么样?

时间:2016-10-26 22:53:23

标签: ios swift rsa digital-signature pkcs#1

我正在尝试在swift上使用SecKeyRawSign使用SHA256withRSA对字符串进行数字签名。我可以正确生成RSA密钥,但我不确定要向此函数发送什么数据。 我的目标是使用PKCS1 v1.5格式,只要私钥和要签名的内容相同,就可以生成相同的签名,即算法中没有随机组件。

另外,我(我想)知道我应该首先计算消息的SHA256哈希的算法,然后我应该添加一个描述算法的ASN.1前缀。最后我应该添加PKCS1填充(0x00 0x01 0xff ... 0xff 0x00)来完成1024位密钥的128字节序列。

我尝试将以下数据和填充组合传递给函数: *带有PKCS1HSA256填充的消息 * sha256(消息)与PKCS1HSA256填充 *带有PKCS1填充的算法标识符+ sha256(消息) * pkcs1填充+算法标识符+带有原始填充的sha256(消息)

在每种情况下,函数都不会返回错误,但每次使用相同的密钥和数据调用函数时,都会生成不同的签名。 知道算法没有随机分量,我不应该每次都得到相同的签名吗?

有人可以通过让我知道应该传递给每个参数来实现我的目标来帮助我吗?应该如何构建数据参数?

感谢。

0 个答案:

没有答案