使openssl RSA算法具有确定性

时间:2013-08-19 16:19:42

标签: c openssl rsa emscripten

我正在尝试使用带有emscripten的openssl编译程序,但它正在返回伪造的密钥。我希望RSA_generate_key()每次返回的密钥都是相同的,当给出相同的种子时,我可以测试可能出错的地方。

我尝试将RAND_poll替换为我自己的实现,该实现始终将相同的数字添加到池中并定义GETPID_IS_MEANINGLESS

我还需要删除/禁用/替换什么?

Testcase赞赏。

由于

1 个答案:

答案 0 :(得分:0)

  

我想测试我的程序的其他部分,所以我希望每次RSA_generate_key()返回的密钥都是相同的,当给出相同的种子时。

只需调用RSA_generate_key()一次,然后将结果转储到文本文件中。然后,创建临时常量并对密钥进行硬编码,并调用RSA_generate_key()并将所有对RSA_generate_key()的调用替换为硬编码常量。

此外,完成后只需取消对RSA_generate_key()的调用,并注释掉所有常量。

或者,“定义围绕RSA密钥生成的包装并返回常量值。然后,您只有一个代码位置需要稍后修复。” - 邓肯琼斯。