OpenSSL で複数のホスト名に対応した自己署名証明書を作成するには
1 つのホスト名の場合は、-subj
オプションで /CN
にホスト名を指定して作成します。
$ openssl req -new -x509 -days 3650 -nodes -text -out test.crt -keyout test.key -subj /CN=$(hostname)
Generating a RSA private key
.................+++++
..................................................................+++++
writing new private key to 'test.key'
-----
複数のホスト名の場合は、req
コマンドで秘密鍵を作成し、x509
コマンドで自己署名証明書を作成する際、拡張属性を読み込むファイルを -extfile
オプションで指定し、v3_ca
セクション内の subjectAltName
属性にホスト名は DNS:
、IP アドレスは IP:
をつけ、,
(カンマ) 区切りで指定します。
ここでは、拡張属性を標準入力 /dev/stdin
から読み込み、最初に標準の設定ファイル /etc/pki/tls/openssl.cnf
(環境によって異なります) を出力し、それに追加する形で v3_ca
セクション内の subjectAltName
属性にドメインつきのホスト名、ホスト名のみ、IP アドレスの設定を行っています。なお、コマンドの入力は EOF
までになります。
$ openssl req -new -nodes -text -out test.csr -keyout test.key -subj /CN=$(hostname)
Generating a RSA private key
...............................+++++
.....................................................+++++
writing new private key to 'test.key'
-----
$ openssl x509 -req -in test.csr -text -days 3650 -extfile /dev/stdin -extensions v3_ca -signkey test.key -out test.crt <<EOF
$(cat /etc/pki/tls/openssl.cnf)
[ v3_ca ]
subjectAltName = DNS:$(hostname), DNS:$(hostname -s), IP:$(hostname -i)
EOF
Signature ok
subject=CN = node-1.example.com
Getting Private key
Author And Source
この問題について(OpenSSL で複数のホスト名に対応した自己署名証明書を作成するには), 我々は、より多くの情報をここで見つけました https://qiita.com/tom-sato/items/fa43deec6a0adf77ced6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .