最初のコマンドで必要なすべてのパラメーターを指定してSSL証明書要求を作成する方法はありますか?私は CLIベースのWebサーバーコントロールパネル を書いており、openssl
を実行するときに expect を使用しないようにします。
これは、証明書リクエストを作成する一般的な方法です:
$ openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout foobar.com.key -out foobar.com.csr
Generating a 2048 bit RSA private key
.................................................+++
........................................+++
writing new private key to 'foobar.com.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New Sweden
Locality Name (eg, city) []:Stockholm
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Scandanavian Ventures, Inc.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:foobar.com
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:FooBar
私はこのようなものを見たいと思っています:(unworking example)
$ openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout foobar.com.key -out foobar.com.csr \
-Country US \
-State "New Sweden" \
-Locality Stockholm \
-Organization "Scandanavian Ventures, Inc." \
-CommonName foobar.com \
-EmailAddress [email protected] \
-Company FooBar
すばらしいmanページには、この件に関して何も言うことはありませんでした。また、Googleを介して何も見つけることができませんでした。 SSL証明書要求の生成は対話型プロセスである必要がありますか、または単一のコマンドですべてのパラメーターを指定する方法はありますか?
これは、openssl 1.0.1
を実行しているDebian派生のLinuxディストリビューションにあります。
あなたは2つの部分が欠けています:
次のように呼び出すことができる件名行
-subj "/C=US/ST=New Sweden/L=Stockholm /O=.../OU=.../CN=.../emailAddress=..."
X=
はX509コード([〜#〜] o [〜#〜] rganization/[〜#〜] o [〜#〜 ] rganization [〜#〜] u [〜#〜] nit/etc ...)次のように呼び出すことができるパスワード値
-passout pass:client11
-passin pass:client11
新しいキーの呼び出しは次のようになります
openssl genrsa -aes256 -out lib/client1.key -passout pass:client11 1024
openssl rsa -in lib/client1.key -passin pass:client11 -out lib/client1-nokey.key
openssl req -new -key lib/client1.key -subj req -new \
-passin pass:client11 -out lib/client1.csr \
-subj "/C=US/ST=New Sweden/L=Stockholm/O=.../OU=.../CN=.../emailAddress=..."
(私が見たところで、2つの-new
...があります)
公式ドキュメント の説明に従って、-batch
オプションを確認します。
通常のopensslコマンドに追加します。
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/key.pem -out /etc/ssl/private/cert.pem
この行:
-subj "/C=PE/ST=Lima/L=Lima/O=Acme Inc. /OU=IT Department/CN=acme.com"
説明:
セパレータのように「/」を使用します。