2016-06-09 49 views
1

我如何配置使用/ dev/random作爲的唯一來源?
我試過的是。隨機熵的捲曲源。

--with-random=/dev/random. 

但儘管如此,當我這樣做strace的捲曲--help它爲我打開/ dev/urandom的的。

有什麼我失蹤?

回答

1

這取決於TLS後端和選擇的庫。

由於OpenSSL是最常用的,我假設你使用它。當libcurl被構建爲使用OpenSSL時,libcurl本身將嘗試使用您在配置時使用的隨機文件設備,但我確信現代OpenSSL版本可以進行自己的熵播種 - 事實並非如此不能由--with-random來控制curl的配置腳本。

當libcurl被構建爲使用任何其他TLS後端時,它們都會自行進行隨機熵播種,因此libcurl知道的隨機文件根本不會被使用。

+0

謝謝。我將openssl配置爲首選使用/ dev/random,並且也反映在curl命令執行中。爲了檢查這個我記錄的進程在char/random.c中訪問內核函數get_random_bytes,random_read和urandom_read,並發現curl進程打到了random_read。但是,也發現第一次觸發get_random_bytes和隨後的random_read。這是預期的嗎?還是有更好的方法來檢查這個?我也做了curl命令strace,只是指向/ dev/random打開。 – KhannaKapil