我正在尝试使用 openssl 和 emscripten 编译程序,但它返回虚假 key 。当给定相同的种子时,我希望 RSA_generate_key() 返回的 key 每次都相同,这样我就可以测试可能出现的问题。
我尝试用自己的实现替换 RAND_poll,该实现始终将相同的数字添加到池中,并定义了 GETPID_IS_MEANINGLESS
。
我还需要删除/禁用/替换什么?
感谢测试用例。
谢谢
最佳答案
I want to test other parts of my program so I would like the key that
RSA_generate_key()
returns to be the same every time, when given the same seed.
只需调用RSA_generate_key()
一次,并将结果转储到文本文件中。然后,创建临时常量并对 key 和调用 RSA_generate_key()
的结果进行硬编码,并将对 RSA_generate_key()
的所有调用替换为硬编码常量。
此外,完成后,只需取消对 RSA_generate_key()
调用的注释并注释掉所有常量即可。
或者,“围绕 RSA key 生成定义一个包装器并返回常量值。这样您就只有一个需要稍后修复的代码位置。” - 邓肯·琼斯。
关于c - 使 openssl RSA 算法具有确定性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318490/