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から構成情報をロードできません
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から構成情報をロードできません
回答:
OpenSSLをインストールした後、新しい環境変数を作成する必要がありました。
OPENSSL_CONF
C:\Program Files\OpenSSL\openssl.cnf
PowerShellで:
$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL\openssl.cnf"
この値は、以前のインストールバージョンとは異なります(この投稿の以前の編集で確認できます)。また、opensslバイナリフォルダー${env:ProgramFiles}\OpenSSL
をパスに追加することを忘れないでください。
C:\OpenSSL-Win32\bin\openssl.cfg
では代わりに使用する必要がありました。
C:\Program Files (x86)\Git\ssl\openssl.cfg
、すでにgitを使用している人のために。
SETX OPENSSL_CONF c:/libs/openssl-0.9.8k/openssl.cnf
次のような構成への絶対パスを指定する必要があります。
openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...
openssl.cfg
binディレクトリに存在するが、インストール後に。しかし、このファイルを使用すると、とにかく動作するようです。
-config "C:\Program Files (x86)\Git\ssl\openssl.cnf"
-config
フラグを使用する場所については、以下の@Kosarの回答を参照してください。これは私にとっては
Windowsでは、[ 同様のシナリオ ]
私も同じ問題に直面していましたが、証明書署名リクエストのリクエスト中に発生しました。
私は以下を行いました、それは私のために働きました。
OpenSSLをインストールしたら、システムの再起動後にコマンドプロンプトを管理者として実行しました。[最善の方法は両方を実行したことです。管理者として実行し、システムを再起動してください]
した、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 Itのパスフレーズの入力を求められました働いていた私のために。
私は、これを参照しました リンク。
ありがとうございました。
唯一のこの状況で私のために働いていたものでした自己作成 の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
お役に立てば幸いです。
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 -config openssl.cnf
Windows 7では、再起動する必要はありませんでした。管理者モードでコマンドプロンプトを実行するだけです。
opensslが見つからない理由に関する基本的な質問:短い回答:opensslの一部のインストールパッケージには、デフォルトのopenssl.cnfがあらかじめ含まれています。他のパッケージにはありません。後者の場合は、以下に示すリンクから1つを含めます。必要に応じて、ユーザー固有の追加情報(DN名など)を入力できます。
https://www.openssl.org/docs/manmaster/man5/config.htmlから、直接引用します:
「OPENSSLライブラリ構成
アプリケーションは、マスターOpenSSL構成ファイル、またはオプションで代替構成ファイルを使用して、OpenSSLの特定の側面を自動的に構成できます。opensslユーティリティーにはこの機能が含まれています。サブコマンドで代替構成ファイルを使用するオプションが使用されていない限り、すべてのサブコマンドはマスターOpenSSL構成ファイルを使用します。
ライブラリ構成を有効にするには、デフォルトセクションに、メイン構成セクションを指す適切な行を含める必要があります。デフォルトの名前はopenssl_confで、opensslユーティリティで使用されます。他のアプリケーションは、myapplication_confなどの代替名を使用する場合があります。すべてのライブラリ構成行は、構成ファイルの最初のデフォルトセクションに表示されます。
構成セクションは、特定のモジュール構成情報を含む名前と値のペアのセットで構成される必要があります。名前は、構成モジュールの名前を表します。値の意味はモジュール固有です。たとえば、構成モジュール固有の情報を含む追加の構成セクションを表す場合があります。例えば:"
そのため、使用に固有の他のエントリとともに、識別名(DN)に従ってopenssl.cnfを自己構成する必要があるようです。
以下は、特定のエントリを含むopenssl.cnfを生成できるテンプレートファイルです。
1つのアプリケーションには、デモ.cnfファイルを含むデモインストールが実際にあります。
さらに、プログラムで.cnfファイルにアクセスする必要がある場合は、適切なヘッダー--openssl / conf.h--を含め、.cnfファイルを使用して解析できます。
CONF_modules_load_file(const char *filename, const char *appname,
unsigned long flags);
ここで「CONF_modules_load_file」のためのドキュメントがあります。