自己署名証明書を作成する

自作した秘密鍵で署名したサーバー証明書(オレオレ証明書)の作成手順をまとめました。

自己署名証明書作成手順

こちらのサイト様を参考にしました。

OpenSSLのインストール

ここではWindows 10にインストールしたOpenSSLを使って作成していきます。
インストールしていない方はここを参考にインストールしてください。

秘密鍵の作成

証明書に署名する用の秘密鍵を作成します。
コマンドプロンプトを起動して下記コマンドを実行します。

cd [秘密鍵を出力するフォルダ]
openssl genpkey -algorithm RSA -out test_private.key

証明書署名要求(.csr)の作成

証明書署名要求を作成します。
作成者情報を求められますが『Common Name』だけ適当に付けて他は空欄にしました。

openssl req -new -sha256 -key test_private.key -out test_csr.csr

サブジェクト代替名(Subject Alternative Name)を作成

任意のテキストファイル(ここではsan.txt)を作成し、適当なサブジェクト代替名を設定しておきます。

subjectAltName = DNS:localhost, IP:127.0.0.1

自己署名証明書(.crt)の作成

前段で作成した3つのファイルから、目的の自己署名証明書を作成します。
本来であれば証明書署名要求を認証局に送り、認証局から署名をもらいますが
ここでは自分が認証局の代わりに署名(秘密鍵で暗号化)します。

openssl x509 -req -in test_csr.csr -signkey test_private.key -out test_crt.crt -extfile san.txt -days 3650

完成した自己署名証明書の内容は下記コマンドで確認できます。

openssl x509 -in test_crt.crt -noout -text

個人情報交換ファイル(.pfx)の作成

自己署名証明書と秘密鍵をひとまとめにします。

openssl pkcs12 -export -inkey test_private.key -in test_crt.crt -out test_pfx.pfx