2016-06-09 46 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