Невозможно загрузить информацию о конфигурации из /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";