【问题标题】:Make openssl RSA algorithm deterministic使 openssl RSA 算法具有确定性
【发布时间】:2013-08-19 16:19:41
【问题描述】:

我正在尝试使用带有 emscripten 的 openssl 编译程序,但它返回的是假密钥。当给定相同的种子时,我希望 RSA_generate_key() 每次返回的密钥都相同,这样我就可以测试可能出了什么问题。

我尝试用我自己的实现替换 RAND_poll,该实现总是向池中添加相同的数字并定义了GETPID_IS_MEANINGLESS

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

感谢测试用例。

谢谢

【问题讨论】:

  • 为了尽快获得更好的帮助,请将您的代码发布为SSCCE,以证明您的问题。这允许用户复制/粘贴和重现您的问题。

标签: c openssl rsa emscripten


【解决方案1】:

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

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

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

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

【讨论】:

  • 或者... 围绕 RSA 密钥生成定义一个包装器并返回常量值。那么你只有一个代码位置需要稍后修复。
  • 抱歉,我已经在我的问题中澄清了我正在尝试使用 emscripten 编译 openssl 并希望生成一个确定性密钥,以便我可以尝试找出程序/编译出错的阶段。
猜你喜欢
  • 2019-10-13
  • 1970-01-01
  • 2012-06-14
  • 2014-05-10
  • 2020-01-18
  • 2019-12-07
  • 1970-01-01
  • 2011-05-06
  • 2019-06-09
相关资源
最近更新 更多