Не удается открыть файл конфигурации: / usr/local/ssl / openssl.cnf в Windows [дубликат]
этот вопрос уже есть ответ здесь:
Я установил OpenSSL 64. Я хочу использовать сертификат для моего сервера NodeJS https. Я выполнил следующую команду:
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)
Как я могу решить это?
Это правильная команда?
7 ответов:
решение выполняет эту команду:
set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfgили
set OPENSSL_CONF=[path-to-OpenSSL-install-dir]\bin\openssl.cfgв командной строке перед использованием .
пусть
opensslточно знаю, где его найти .в качестве альтернативы вы можете установить ту же переменную
OPENSSL_CONFв переменных среды Windows.Примечание: это может произойти при использовании бинарное распределение OpenSSL от Shining Light Productions (a compiled + установочная версия официального OpenSSL, который можно скачать и использовать бесплатно). Этот дистрибутив "полуофициально" связан с сайта OpenSSL как "сервис в первую очередь для операционных систем, где нет предварительно скомпилированных пакетов OpenSSL".
У меня SSL на Apache2.4. 4 и выполнив этот код сначала, сделал трюк:
set OPENSSL_CONF=C:\wamp\bin\apache\Apache2.4.4\conf\openssl.cnfзатем выполните остальные коды..
/ usr / local/ssl / openssl.cnf
такой путь означает, что программа была скомпилирована с помощью Cygwin или MSYS. Если вы должны использовать
opensslтогда вам понадобится интерпретатор, который понимает эти пути, например Bash, который предоставляется Cygwin или MSYS.другой вариант-загрузить или скомпилировать собственную версию Windows
openssl. Используя это программа вместо этого потребует путь, какC:\Users\Steven\ssl\openssl.cnfчто бы лучше подходит для командной строки.
в моем случае я использовал двоичные файлы из Shining Light, и переменные среды уже были обновлены. Но все еще была проблема, пока я не запустил командное окно с повышенными привилегиями.
при открытии окна CMD обязательно запустите его от имени администратора. (Щелкните правой кнопкой мыши командную строку в меню Пуск и выберите "Запуск от имени администратора")
Я думаю, что он не может читать файлы из-за контроля учетных записей пользователей.
решение!
просто набор
-configрасположение параметров правильно, т. е.:openssl .................... -config C:\bin\apache\apache2.4.9\conf\openssl.cnf
не уверен, в чем разница между ними .cfg & .cnf В моем сервере я не мог найти .cfg или .cnf Я создал новый файл то же самое и поместить его в следующую папку
/usr/local/ssl/binвыполнена
.\openssl genrsa -des3 -out <key name>.key 2048прошло замечательно..
просто установите Win64 OpenSSL v1. 0.2 a или Win32 OpenSSL v1.0. 2 a, вы можете скачать их с http://slproweb.com/products/Win32OpenSSL.html. работает из коробки, никакой конфигурации не требуется.
Comments