Невозможно загрузить информацию о конфигурации из /usr/local/ssl/openssl.cnf в Windows
При использовании OpenSSL в Windows:
openssl genrsa -out privatekey.pem 1024 -->
Создано успешно
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
---->
Отображение сообщения об ошибке как
невозможно загрузить конфигурационную информацию из /usr/local/ssl/openssl.cnf
Ответы
Ответ 1
После установки OpenSSL мне потребовалось создать новую переменную среды:
- Имя:
OPENSSL_CONF
- Значение:
C:\Program Files\OpenSSL\openssl.cnf
В PowerShell:
$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL\openssl.cnf"
Это значение отличается от предыдущих версий установки (как видно из предыдущего редактирования этого сообщения). Также не забудьте добавить двоичную папку openssl ${env:ProgramFiles}\OpenSSL
в ваш путь.
Ответ 2
Вы должны указать абсолютный путь к конфигу, что-то вроде этого:
openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...
Ответ 3
В Windows 10 нет необходимости перезапускать или запускаться в режиме администратора, но вместо этого нужно установить конфигурацию openssl следующим образом:
set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf
Конечно, если вы используете GnuWin32
Ответ 4
В окнах [ Сходный сценарий]
Я столкнулся с одной и той же проблемой. Но это было во время запроса запроса подписи сертификата.
Я сделал следующее: "Это работало для меня".
После того, как OpenSSL установлен, команда Ran вызывается как администратор после перезагрузки системы. [наилучшим образом я сделал оба.. запускался как администратор и перезагрузка системы]
сделал,
1. [Ошибка]
C:\OpenSSL-Win64\bin>openssl req -new -key server.key -out server.csr
ПРЕДУПРЕЖДЕНИЕ: не удается открыть файл конфигурации: C:\OpenSSL-Win64\bin\openssl.cnf
А ТАКЖЕ
Невозможно загрузить информацию о конфигурации из C:\OpenSSL-Win64\bin\openssl.cnf
2. [Работа с предупреждением]
C:\OpenSSL-Win64\bin> openssl req -new -key server.key -out server.csr -config C:\OpenSSL-Win64\bin\openssl.cfg
[Предупреждающее сообщение]: ПРЕДУПРЕЖДЕНИЕ: невозможно открыть файл конфигурации: C:\OpenSSL-Win64\bin\openssl.cnf
Но мне предложили Пропустить фразу для server.key
Он работал для меня.
Я назвал эту ссылку для моей помощи.
Спасибо.
Ответ 5
Единственное, что сработало для меня в этой ситуации, - это самодельный файл openssl.cnf.
Вот основные сведения, необходимые для этого упражнения (при необходимости измените):
#
# OpenSSL configuration file.
#
# Establish working directory.
dir = .
[ ca ]
default_ca = CA_default
[ CA_default ]
serial = $dir/serial
database = $dir/certindex.txt
new_certs_dir = $dir/certs
certificate = $dir/cacert.pem
private_key = $dir/private/cakey.pem
default_days = 365
default_md = md5
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ req ]
default_bits = 1024 # Size of keys
default_keyfile = key.pem # name of generated keys
default_md = md5 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_extensions = v3_req
[ req_distinguished_name ]
# Variable name Prompt string
#------------------------- ----------------------------------
0.organizationName = Organization Name (company)
organizationalUnitName = Organizational Unit Name (department, division)
emailAddress = Email Address
emailAddress_max = 40
localityName = Locality Name (city, district)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
commonName = Common Name (hostname, IP, or your name)
commonName_max = 64
# Default values for the above, for consistency and less typing.
# Variable name Value
#------------------------ ------------------------------
0.organizationName_default = My Company
localityName_default = My Town
stateOrProvinceName_default = State or Providence
countryName_default = US
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
[ v3_req ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
Надеюсь, это поможет.
Ответ 6
После установки OpenSSL вам необходимо перезагрузить компьютер и использовать Run As Administrator
. Тогда его работы.
Ответ 7
С инструментами GnuWin32 я нашел openssl.cnf в папке C:\gnuwin32\share
set OPENSSL_CONF=C:\gnuwin32\share\openssl.cnf
Ответ 8
Для меня в Windows 8 я просто нашел файл openssl.cnf и скопировал его на диске C. то:
openssl req -new -key server.key -out server.csr -config C:\openssl.cnf
Работал отлично.
Ответ 9
В Windows 7 мне не пришлось перезагружаться, просто запустите командную строку в режиме администратора.
Ответ 10
В моем случае мне нужно установить путь к файлу openssl.cnf вручную, используя команду config
. Итак, команда
openssl req -x509 -config "C:\Users\sk\Downloads\openssl-0.9.8k_X64\openssl.cnf" -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900
Ответ 11
Если вы используете Win32 OpenSSL v1.1.0g, настройте эту переменную среды:
set OPENSSL_CONF=C:\OpenSSL-Win32\bin\cnf\openssl.cnf
Перед выполнением этой команды с "server.key", успешно создайте "server.csr":
openssl req -new -key server.key -out server.csr
Ответ 12
Для меня поставить переменную перед вызовом сделал трюк:
OPENSSL_CONF=/usr/ssl/openssl.cnf openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
Ответ 13
На основной вопрос, почему openssl не найден:
Краткий ответ: в некоторые установочные пакеты для openssl по умолчанию включен openssl.cnf. Других пакетов нет.
В последнем случае вы включите один по ссылке, показанной ниже;
При необходимости вы можете ввести дополнительное имя пользователя --DN, etc--.
Из https://www.openssl.org/docs/manmaster/man5/config.html,I цитаты напрямую:
"OPENSSL БИБЛИОТЕЧНАЯ КОНФИГУРАЦИЯ
Приложения могут автоматически настраивать определенные аспекты OpenSSL, используя основной файл конфигурации OpenSSL или, опционально, альтернативный файл конфигурации. Утилита openssl включает эту функцию: любая подкоманда использует основной файл конфигурации OpenSSL, если в подкоманде не используется опция для использования альтернативного файла конфигурации.
Чтобы включить настройку библиотеки, раздел по умолчанию должен содержать соответствующую строку, которая указывает на основной раздел конфигурации. По умолчанию используется имя openssl_conf, которое используется утилитой openssl. Другие приложения могут использовать альтернативное имя, например myapplication_conf. Все строки конфигурации библиотеки отображаются в разделе по умолчанию в начале файла конфигурации.
Раздел конфигурации должен состоять из набора пар имя-значение, которые содержат конкретную информацию о конфигурации модуля. Имя представляет собой имя модуля конфигурации. Значение этого значения зависит от модуля: оно может, например, представлять дополнительный раздел конфигурации, содержащий информацию о модуле конфигурации. Например.: "
Таким образом, кажется, что вы должны самостоятельно настроить openssl.cnf в соответствии с вашими
Отличительное имя (DN), а также другие записи, относящиеся к вашему использованию.
Здесь - файл шаблона, из которого вы можете сгенерировать openssl.cnf
с вашими конкретными записями.
В одном приложении фактически есть демонстрационная установка, включающая демонстрационный файл .cnf.
Кроме того, если вам нужен программный доступ к файлам .cnf, вы можете
включите соответствующие заголовки --openssl/conf. h-- и проанализируйте ваши файлы .cnf
используя
CONF_modules_load_file(const char *filename, const char *appname,
unsigned long flags);
Здесь документы для "CONF_modules_load_file";