Help us understand the problem. What is going on with this article?

opensslでオレオレ証明書(pfxファイル)を作成した話

More than 1 year has passed since last update.

はじめに

  • HTTPS化するのに証明書が必要になったが、Windowsでpfxファイルを作成するのに苦労したので手順をメモ:writing_hand:

事前準備

  • クライアントPC(Windows)

参考資料

  • 以下の先生の記事を参考しながら、進めます。先生に感謝。

オレオレ証明書をopensslで作る(詳細版)

作業の流れ

  1. opensslのインストール
  2. 秘密鍵(Private Key)の作成
  3. 証明書署名要求(CSR : Certificate Signing Request)の作成
  4. サーバ証明書の作成
  5. 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なる救世主がいたんですね。オレオレ証明書だとダメな場合もあるので、素直にこっちにすれば良かったかも。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away