はじめに
- HTTPS化するのに証明書が必要になったが、Windowsでpfxファイルを作成するのに苦労したので手順をメモ
事前準備
- クライアントPC(Windows)
参考資料
- 以下の先生の記事を参考しながら、進めます。先生に感謝。
オレオレ証明書をopensslで作る(詳細版)
作業の流れ
- opensslのインストール
- 秘密鍵(Private Key)の作成
- 証明書署名要求(CSR : Certificate Signing Request)の作成
- サーバ証明書の作成
- pfxファイルのエクスポート
【手順1】opensslのインストール
- 以下URLを参考にインストール
Win32 opensslのインストール手順
Shining Light Productions (opensslのダウンロード)
【手順2】秘密鍵(Private Key)の作成
- 以下のコマンドを順に実行
# 秘密鍵(Private Key)の作成
$ openssl genrsa 2048 > server.key
【手順3】証明書署名要求(CSR : Certificate Signing Request)の作成
- 以下のコマンドを順に実行
# 証明書署名要求(CSR : Certificate Signing Request)の作成
$ openssl req -new -key server.key > server.csr
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]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
**Note:**本当ならちゃんと入力すべきだが、オレオレ証明書の場合は、全てENTERで。
【手順4】サーバ証明書の作成
- 以下のコマンドを順に実行
# サーバ証明書の作成
$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
Signature ok
subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd
Getting Private key
【手順5】pfxファイルのエクスポート
- 以下のコマンドを順に実行
# pfxファイルのエクスポート
$ openssl pkcs12 -export -inkey server.key -in server.cer -out server.pfx
まとめ
- オレオレ証明書ファイル(pfxファイル)ができた!
- opensslの使い方はたくさん出てくるが、pfxファイルまで作成する手順に辿り着けなかったので備忘メモ。
- っていうか、この面倒な手順なんなの??、、、と思っていたらLet's Encryptなる救世主がいたんですね。オレオレ証明書だとダメな場合もあるので、素直にこっちにすれば良かったかも。