1. ホーム
  2. windows

[解決済み] OpenSSL が設定ファイルの distinguished_name を見つけられませんでした。

2022-02-12 04:48:57

質問

Windowsでopensslを使用してcsrを生成しようとすると、"unable to find 'distinguished_name' in config"というエラーが表示されます。以前は問題なくできたのですが、なぜ今それができないのかがわかりません。

私の設定ファイル(request.txt)です。

[req]
default_bits           = 2048
prompt                 = no
default_md             = sha384
req_extensions         = req_ext
distinguished_name     = req_distinguished_name

[req_distinguished_name]
countryName            = US
stateOrProvinceName    = Nevada
organizationName       = OrgName
organizationalUnitName = DepName
commonName             = <snip-fqdn>
emailAddress           = <snip-email>

[req_ext]
subjectAltName         = @alt_names

[alt_names]
DNS.1                  = <snip-fqdn1>
DNS.2                  = <snip-fqdn2>
IP.1                   = <snip-ip>

csr を生成するために使用しているコマンドです (OpenSSL は openssl.exe の PowerShell エイリアスです)。

OpenSSL req -newkey rsa:2048 -keyout key.pem -nodes -out request.csr -config request.txt

この結果、distinguished_nameがconfigの中に見つからないというエラーが発生します。

req: Error on line 1 of config file "H:\path\to\request.txt"
Generating a RSA private key
................+++++
..........+++++
writing new private key to 'H:\path\to\key.pem'
-----
unable to find 'distinguished_name' in config
problems making Certificate Request
3252:error:0E06D06A:configuration file routines:NCONF_get_string:no conf or environment variable:crypto\conf\conf_lib.c:270:

distinguished_nameはconfigで定義されているので、opensslがここで何を言っているのかわかりません。私はこの件で本当に途方に暮れています。何かアイデアはありますか?

解決方法は?

これがあなたの本当のエラーのようです。

req: Error on line 1 of config file "H:\path\to\request.txt"

の最初の行に変な文字やスペースがあるために起こる可能性があります。 requests.txt ファイルを作成します。