Как 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,

Итак, если вы определите много источников, он будет использовать все эти работающие и объединит их энтропию.

Другие вопросы по тегам