Как Apache интерпретирует несколько источников SSLRandomSeed
В моей конфигурации Apache у меня есть эти строки:
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/random
SSLRandomSeed connect file:/dev/urandom 1024
Как именно Apache интерпретирует это? Сначала он пытается встроить, а затем перейти к /dev/random
если это не удастся? Если он использует /dev/random
, а также /dev/random
затем заканчивается энтропия, она автоматически переключается на /dev/urandom
? Есть ли где-нибудь документ Apache, который объясняет все это?
1 ответ
Это не указано в документации Apache, но, глядя на ssl_engine_rand.c
(apache 2.2.21 здесь) вы можете видеть, что функция ssl_rand_seed
перебирает все определенные источники SSLRandomSeed, в конечном счете вызывая OpenSSL RAND_seed
функционировать, если нет сбоя.
Ссылаясь на справочную страницу OpenSSL для RAND_seed
каждый успешный вызов добавит энтропию в состояние PRNG.
В конце он спрашивает OpenSSL, достаточно ли посева RAND_status
,
Итак, если вы определите много источников, он будет использовать все эти работающие и объединит их энтропию.