c - 使 openssl RSA 算法具有确定性

标签 c openssl rsa emscripten

我正在尝试使用 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/

相关文章:

c - 为什么我不能在 C 中使用一维数组的输入值?

c - 如何清空一个char数组?

c - JSON (GLib) 序列化泄漏 GHashTable 的内存

php - openssl_pkcs12_export() 和 openssl_x509_export() PHP 函数有什么区别?

linux - 使用 OpenSSL 哈希进行文件比较

c - 我想接收 SIGQUIT 信号并执行一些操作

openssl - 有没有办法配置 OpenSSL 或 boost::asio::ssl 不加密?

java - 在 Java 中从 C# 解密 RSA 加密数据。加密数据的格式?

javascript - 使用 JavaScript 生成 RSA-SHA1 签名

encryption - 在PKCS#1 OAEP加密/解密中交换公钥/私钥