2013-08-19 22 views
0

我想用emscripten編譯一個使用openssl的程序,但它返回的是假密鑰。我希望RSA_generate_key()返回的關鍵字每次都是相同的,當給定相同的種子時,我可以測試可能會出錯的東西。使openssl RSA算法確定性

我已經嘗試用我自己的實現替換RAND_poll,它總是將相同的數字添加到池中並定義爲GETPID_IS_MEANINGLESS

我還需要刪除/禁用/替換?

表示讚賞。

感謝

+0

爲了儘快提供更好的幫助,請將您的代碼發佈爲演示您的問題的[SSCCE](http://www.sscce.org)。這允許用戶複製/粘貼並重現您的問題。 –

回答

0

我想測試我的程序的其他部分,所以我想關鍵是RSA_generate_key()回報是一樣的每一次,給予相同的種子時。

只需調用RSA_generate_key()一次,並將結果轉儲到文本文件。然後,創建臨時常量並對關鍵字進行硬編碼,並調用RSA_generate_key()並將所有調用替換爲硬編碼常量的RSA_generate_key()

此外,當您完成後,簡單地取消對RSA_generate_key()的呼叫並註釋掉所有的常量。

或者,「定義一個圍繞RSA密鑰生成的包裝並返回常量值,然後您只有一個代碼位置需要稍後修復。 - 鄧肯瓊斯。

+0

或...定義一個圍繞RSA密鑰生成的包裝並返回常量值。然後,您只有一個代碼位置需要稍後修復。 –

+0

@DuncanJones,好點 - 包括它。 –

+0

對不起,我在我的問題中澄清說,我正在試圖用emscripten編譯openssl,並希望生成一個確定性的關鍵字,以便我可以嘗試確定程序/編譯出錯的階段。 – leighman