Когда я попытался запустить следующую команду для выдачи нового закрытого ключа, который я использую для размещения своего веб-приложения через SSL:
openssl genrsa -out example.key 2048
произошла следующая ошибка:
unable to write 'random state'
e is 65537 (0x10001)
Покопавшись в Интернете, я обнаружил решение, который предлагает вам удалить ~/.rnd
файл, который, вероятно, принадлежит root
.
sudo rm ~/.rnd
Однако я обнаружил, что вам не нужно удалять ~/.rnd
если вы выдадите openssl
команда с sudo
.
Итак, мой вопрос:
что ~/.rnd
и почему он существует в моей среде?
Как лучше выпустить новый закрытый ключ?
В ~/.rnd
файл принадлежит root
если вы когда-либо запускали команду, которая изменяет ~/.rnd
так как root
через sudo в режиме без входа в систему (т.е. без -i
). Что касается того, что ~/.rnd
файл, он содержит начальное значение для генератора случайных чисел OpenSSL. Наименее худшие документы, которые я могу найти на нем, это в RAND_read_file
(3) справочная страница.