Не удается открыть файл конфигурации:/usr/local/ssl/openssl.cnf в Windows

Я установил OpenSSL 64. Я хочу использовать сертификат для моего https-сервера nodejs. Я выполнил следующую команду:

openssl genrsa -out subdomain.domain.com.key 1024

Но у меня есть ошибка:

WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
.........++++++
.........................................++++++
unable to write 'random state'
e is 65537 (0x10001)

Как я могу его решить?
Правильная команда?

Ответ 1

В решении используется следующая команда:

set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg   

или

set OPENSSL_CONF=[path-to-OpenSSL-install-dir]\bin\openssl.cfg

в командной строке перед использованием команды openssl.

Пусть openssl точно знает, где найти файл .cfg.

В качестве альтернативы вы можете установить одну и ту же переменную OPENSSL_CONF в переменных среды Windows.

ПРИМЕЧАНИЕ. Это может произойти при использовании бинарного дистрибутива OpenSSL от Shining Light Productions (скомпилированная версия установщика официального OpenSSL, которая бесплатна для загрузки и использования). Этот дистрибутив "полуавтоматически" связан с сайтом OpenSSL как "служба, в первую очередь, для операционных систем, где нет предварительно скомпилированных пакетов OpenSSL".

Ответ 2

Я использую SSL на Apache2.4.4 и сначала выполняю этот код, сделал трюк:
set OPENSSL_CONF=C:\wamp\bin\apache\Apache2.4.4\conf\openssl.cnf

затем выполните остальные коды.

Ответ 3

/usr/local/ssl/openssl.cnf

Путь, подобный этому, означает, что программа была скомпилирована либо с помощью Cygwin, либо с MSYS. Если вы должны использовать этот openssl, вам понадобится интерпретатор, который понимает эти пути, например Bash, который предоставляется Cygwin или MSYS.

Другой вариант - загрузить или скомпилировать исходную версию Windows openssl. Используя эту программу, вместо этого потребуется такой путь, как

C:\Users\Steven\ssl\openssl.cnf

который лучше подходит для командной строки.

Ответ 4

В моем случае я использовал двоичные файлы из Shining Light, и переменные окружения уже были обновлены. Но все еще была проблема, пока я не запустил окно командной строки с повышенными привилегиями.

При открытии окна CMD обязательно запустите его как администратор. (Щелкните правой кнопкой мыши командную строку в меню "Пуск" и выберите "Запуск от имени администратора" )

Я думаю, что он не может прочитать файлы из-за контроля учетных записей пользователей.

Ответ 5

РЕШЕНИЕ!

просто установите правильное расположение параметров -config, например:

openssl ....................  -config C:\bin\apache\apache2.4.9\conf\openssl.cnf

Ответ 6

Не уверен, в чем разница между .cfg и .cnf На моем сервере я не смог найти .cfg или .cnf Я создал новый файл для тот же и поместил его в следующую папку /usr/local/ssl/bin

выполнил

.\openssl genrsa -des3 -out <key name>.key 2048 

прошел отлично.

Ответ 7

Просто установите Win64 OpenSSL v1.0.2a или Win32 OpenSSL v1.0.2a, вы можете скачать их из http://slproweb.com/products/Win32OpenSSL.html. Работает из коробки, не требуется настройка.