我正在使用OpenSSL在iOS应用程序中签名。我用RSA_sign签名。当我使用RSA_verify验证签名时,结果如下
050 +(f2d7846a5f495a743e470663facf7a2858d052cf )
其中f2d7846a5f495a743e470663facf7a2858d052cf是原始签名。所以我得到了额外的050 +(在签名的开头)。谁能告诉我原因吗?
我就是这样签的
int sign = RSA_sign(NID_sha1,( char *)reply, strlen(reply), signature, &siglen, myRSA );其中,答复包含要签名的sha1散列数据。
诚挚的问候
发布于 2013-10-12 13:54:34
我很惊讶你在缓冲区里看到的除了原始签名之外的任何东西。除了验证的结果外,RSA_verify不应该“返回”其他任何内容(在返回的整数值中,0表示失败,1表示成功。请使用SSL文档中定义的方法。
在我看来,首先可以看到哈希,这是一个错误。不幸的是,OpenSSL并没有被很好的文档化。
https://stackoverflow.com/questions/19278509
复制相似问题