2007年7月4日水曜日

Windows+OpenSSLでサーバ証明書を作成

 Windowsで、Apache用のサーバ証明書をOpenSSLを使って作成する方法。作成条件は下記のとおり。環境に合わせて適宜読み替える。

  • カレントディレクトにopenssl.exeがある
  • ../confディレクトリにopenssl.cnfがある(※)
  • 秘密鍵は"server.key"というファイル名で、サーバ証明書は"server.crt"という名前で、両方ともカレントディレクトリに作る
  • 自己署名で済ます (正式なサーバ証明書の作成を業者に依頼する場合はCSRを作成する必要がある)
※openssl.cnfはWindowsのエクスプローラで表示すると、ファイル名が"openssl"、ファイル種類が"短縮ダイヤル"と表示されるのが分かりづらいので注意。
  1. 秘密鍵を作成する。-randで指定するのはhttpd.confでなくてもいいかも。
     openssl genrsa -des3 -rand ../conf/httpd.conf -out server.key 1024
  2. 起動時にパスワード要求をしないようにする。Windowsだけで必要な作業らしい。
     openssl rsa -in server.key -out server.key
  3. サーバ証明書を作成する。有効期間は1年にしたが、10年でも大丈夫だった。
    入力項目はだいたい聞かれるままに答えればいいが、Common Nameにはドメインを入力するとこだけ注意。
     openssl req -config ../conf/openssl.cnf -new -x509 -days 365 -key server.key -out server.crt
 3で-configを指定しないと、デフォルトの場所(c:/usr/share/conf/openssl.cnfかな?)にopenssl.cnfを探しに行ってしまい、そこに無いとエラーになる。

 サーバ証明書を作る前にCSRを作成すると説明しているサイトが多いが、自己署名の場合はCSRを作成せずにいきなりサーバ証明書が作れるみたい。

0 件のコメント:

ブログ アーカイブ

tags