自己署名証明書を作成するopensslコマンドはどこまで簡単にできるか
タグ: linux / 初版公開: 2013-07-08

以下が最も簡単な自己署名証明書の作成方法だと思う。

openssl req -new -x509 -nodes -keyout test.key -days 3650 > test.pem

あとは対話的に項目を埋めていけば、ちゃんとApache等で利用できる証明書が完成する。

-x509オプションを指定するのがポイントで、このオプションにより、リクエストファイルから証明書を作るプロセスが省略できる。

-nodesは、この記事を読む人の中に、証明書の暗号化が必要な人は居ないと考えて、敢えて指定している。

-daysは無くても証明書は作成できるが、手元の環境では期限が1ヶ月間になり、実用性がないと判断したので指定しておいた。

公開鍵暗号の概念そのものが複雑な事に加え、opensslコマンドの使い方も難しいので、ネットの紹介記事はたかが自己署名証明書の作成に過剰な手間をかけていると思う。

ありがちなパターンは以下のとおり。

  • 自前で認証局を作成しようとする
  • いったんリクエストファイルを作成して証明書を作ろうとする
  • わざわざ証明書を暗号化する

単にイントラで通信が暗号化できれば良い、というようなライトな使い方(恐い人に説経されそうだが)であれば、本エントリ冒頭のコマンドと大差はない。