Назад | Перейти на главную страницу

Как 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, объясняющий все это?

Это не указано в документации Apache, но глядя на ssl_engine_rand.c (здесь apache 2.2.21) вы можете видеть, что функция ssl_rand_seed перебирает все определенные источники SSLRandomSeed, в конечном итоге вызывая OpenSSL RAND_seed функции, если не произойдет сбоя.

Ссылаясь на справочную страницу OpenSSL для RAND_seed, каждый успешный вызов к нему будет добавлять энтропию к состоянию ГПСЧ.

В конце он спрашивает OpenSSL, достаточно ли раздачи. RAND_status.

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