はじめに
いつも検証する際に自己証明書の作り方を忘れるので、ここにメモしておきます。
今回はOpenSSLをインストールして、ルート証明書とサーバ証明書のチェーン作成までやります。
OpenSSLインストール
OpenSSLのダウンロードページにアクセス
下にスクロールして、[Win64 OpenSSL vx.x.x]↓の[EXE]をクリック

ダウンロードされたEXEファイルをダブルクリックして実行
以下のような画像が出たら「はい」をクリック。ダウンロードされるのでそれを先にインストール

同意して「Next」

「Next」をクリック

「Next」をクリック

「The OpenSSL binaries(/bin) directory」を選んで「Next」をクリック

「Install」をクリック

「Finish」をクリック

環境変数を変更する


「C:\Program Files\OpenSSL-Win64\bin」を追加して「OK」をクリック

コマンドプロンプトを立ち上げて「openssl version」を入力。応答が返ってくることを確認

事前準備
Cドライブ直下に「cert」というフォルダを作成する
コマンドプロンプトを立ちあげて「cd C:\cert」を入力、ディレクトリを移動する
ルート証明書作成
①秘密鍵作成(パスワード作成が必要)
openssl genrsa -aes128 -out ca.key 2048
②秘密鍵の中身確認
openssl rsa -noout -text -in ca.key
③秘密鍵を元にCSR作成
openssl req -new -key ca.key -out ca.csr
④以下のユーザー情報を入力
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Otaku
Organization Name (eg, company) [Default Company Ltd]:–
Organizational Unit Name (eg, section) []:–
Common Name (eg, your name or your server’s hostname) []:Test.com
Email Address []: ※何も記入せずエンターを押してください
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ※何も記入せずエンターを押してください
An optional company name []: ※何も記入せずエンターを押してください
⑤C:\cert配下に証明属性定義ファイルとして「ca.txt」を作成する
⑥「ca.txt」に以下を記載する
# CA証明書用
[ v3_ca ]
basicConstraints = critical, CA:true
keyUsage = keyCertSign, cRLSign
extendedKeyUsage = serverAuth, clientAuth
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
⑦今まで作成したものを使ってルート証明書を作成する
※有効期限等は任意
openssl x509 -req -signkey ca.key -extfile ca.txt -extensions “v3_ca” -in ca.csr -out ca.crt -days 3650 -sha256
サーバ証明書作成
①秘密鍵作成(パスワード作成が必要)
openssl genrsa -aes128 -out server.key 2048
②秘密鍵の中身確認
openssl rsa -noout -text -in server.key
③秘密鍵を元にCSR作成
openssl req -new -key server.key -out server.csr
④以下のユーザー情報を入力
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Otaku
Organization Name (eg, company) [Default Company Ltd]:–
Organizational Unit Name (eg, section) []:–
Common Name (eg, your name or your server’s hostname) []:Test.com
Email Address []: ※何も記入せずエンターを押してください
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ※何も記入せずエンターを押してください
An optional company name []: ※何も記入せずエンターを押してください
⑤C:\cert配下に証明属性定義ファイルとして「server.txt」を作成する
⑥「server.txt」に以下を記載する
# TLSサーバ証明書用
[ v3_server ]
basicConstraints = critical, CA:false
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
subjectAltName = @alt_name
[ alt_name ]
DNS.1 = Test.com
⑦今まで作成したものを使ってルート証明書を作成する
※有効期限等は任意
openssl x509 -req -CAkey ca.key -CA ca.crt -CAcreateserial -extfile server.txt -extensions “v3_server” -in server.csr -out server.crt -days 3650 -sha256
PFX作成
サーバ証明書のPFXを作成
①以下コマンドを入力(パスワードの作成が必要)
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile ca.crt


コメント