Не удается открыть файл конфигурации:/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. Работает из коробки, не требуется настройка.