web-dev-qa-db-ja.com

Windowsでは/usr/local/ssl/openssl.cnfから設定情報を読み込めません

WindowsでOpenSSLを使用している間:

openssl genrsa -out privatekey.pem 1024 -->

作成しました

openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 
---->

エラーメッセージを

/usr/local/ssl/openssl.cnfから設定情報を読み込めません

166
karthik

OpenSSLをインストールした後、私は新しい環境変数を作成する必要がありました。

  • 名前:OPENSSL_CONF
  • 値:C:\Program Files\OpenSSL\openssl.cnf

PowerShellでは:

$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL\openssl.cnf"

この値は以前のインストールバージョンとは異なります(この記事の前回の編集で見たように)。また、opensslバイナリフォルダ${env:ProgramFiles}\OpenSSLをパスに追加することを忘れないでください。

153
lame_coder

次のように、設定への絶対パスを指定する必要があります。

openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...
68
zombi_man

Windows 10では、管理者モードで再起動または実行する必要はありませんが、代わりにopenssl configを次のように設定します。

set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf

もちろん、GnuWin32を使っているなら

27
BlackPearl

Windowsでは、[同様のシナリオ]

私は同じ問題に直面していましたが、それは証明書署名要求を要求している間でした。

私は以下をしました、それは私のために働きました。

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に パスフレーズ を入力するように促されました。それは正常に機能しました

私はこれを link と言いました。

ありがとうございました。

20
mavis

OpenSSLをインストールしたら、コンピュータを再起動してRun As Administratorを使用する必要があります。それからその仕事。

12
karthik

GnuWin32ツールで、私はCの下にopenssl.cnfを見つけました:\ gnuwin32\share

set OPENSSL_CONF=C:\gnuwin32\share\openssl.cnf
10
T L

この状況で私のために働いていたのみものは自己作成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

それが役立つことを願っています。

10
simhumileco

私がWindows 8を使用している場合、私は単にopenssl.cnfファイルを見つけてそれをCドライブにコピーしました。その後:

openssl req -new -key server.key -out server.csr -config C:\openssl.cnf

完璧に働いた。

7
Ali

Windows 7では、再起動する必要はありませんでした。管理者モードでコマンドプロンプトを実行するだけです。

6

私の場合は、configオプションを使用して、コマンドにopenssl.cnf fileのパスを手動で設定する必要があります。だからコマンド

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
3
Sunil Garg

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
2
5ervant

私が呼び出す前に変数を入れてトリックをしました:

OPENSSL_CONF=/usr/ssl/openssl.cnf openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365
0
VoloshinS