Как исправить "невозможно записать" случайное состояние "в openssl

при создании секретного ключа с помощью этой команды

        genrsa -out my-prvkey.pem 1024

Он выдает ошибку, как показано ниже

       Loadind 'screen' into random state -done
       Generating RSA private key,1024 bit long modulus
       .........................................+++++++
       ...........................+++++++++
       unable to write 'random state'
       e is 65537 (0*10001)

Это создает проблемы при создании открытого сертификата.

Я запускаю эту команду в windows

может ли кто-нибудь помочь мне исправить?

Ответ 1

Самое быстрое решение: установить переменную среды RANDFILE на путь, где может быть записано файл "случайного состояния" (конечно, проверьте права доступа к файлу), например. в командной строке:

set RANDFILE=C:\MyDir\.rnd
openssl genrsa -out my-prvkey.pem 1024

Дополнительные пояснения: OpenSSL в Windows пытается сохранить файл "random state" в следующем порядке:

  • Путь из переменной RANDFILE
  • Если установлена ​​переменная среды HOME: ${HOME} \. rnd
  • C:.\RND

Я уверен, что в вашем случае он пытается сохранить его в C: \. rnd (и он терпит неудачу из-за отсутствия достаточных прав доступа). К сожалению, OpenSSL не печатает путь, который на самом деле пытается использовать в любых сообщениях об ошибках.

Ответ 2

Возможно также, что вам нужно запустить консоль в качестве администратора. В окне 7 удерживайте ctrl+shift при запуске окна консоли.

Ответ 3

просто введите эту строку в командной строке:

set RANDFILE=.rnd

Ответ 4

Или это в windows powershell windows

$env:RANDFILE=".rnd"