とりあえず自己発行証明書作成

安いルート証明書の件が一段落したので、とりあえず自己発行証明書を作って自宅のサーバで動作確認をしてみることにする。

まず必要なのはOpenSSLと、Apache-SSlかmod_sslのどちらか。
自宅Linuxにインストールされているパッケージを調べると、OpenSSLもApache-SSlもmod_sslも全部入ってた。各々のバージョンは以下。

  • httpd-2.0.40-21
  • mod_ssl-2.0.40-21
  • openssl-0.9.7a-2

あとはここを参考に順番にで出来上がり。

# openssl genrsa -des 1024 > /usr/share/ssl/private/key.pem
 (↑後で気が付いたが-randオプション付け忘れてる)

  • パスフェーズを外す

# openssl rsa -in /usr/share/ssl/private/key.pem -out /usr/share/ssl/private/key.pem

  • 属性変更

# chmod 600 /usr/share/ssl/private/key.pem

  • 署名要求(CSR)の作成

# openssl req -new -days 365 -key /usr/share/ssl/private/key.pem -out /usr/share/ssl/csr.pem
(入力の途中で
A challenge password :
An optional company name
:
と聞いてきたけど、そのままEnterした)

  • 自己発行証明書の作成

# openssl x509 -in /usr/share/ssl/csr.pem -out /usr/share/ssl/certs/httpsd.pem -req -signkey /usr/share/ssl/private/key.pem
→Signature okが表示されてOK

  • 自己発行証明書をサーバに登録

作成した自己発行証明書と秘密鍵をそれぞれ
 /etc/httpd/conf/ssl.crt/server.crt
 /etc/httpd/conf/ssl.key/server.key
にリネームしてコピーで完了。

httpdを再起動してブラウザで確認してみたらちゃんと証明書のインストールを聞いてきた。
なんちゃってCA無事完成。なんだ。簡単じゃん。