SSL:自己署名証明書(オレオレ証明書)
※昔書いたメモを貼り付けてます。
Apacheは2.0.x系を前提の、参考資料。
apachectlへ渡すべきオプションは、バージョンやインストール環境によって異なるものと思う。
【サーバ鍵を作る】
[root@myserver conf]# openssl genrsa -des3 -out /usr/local/etc/apache2/ssl.key/SERVER.key -rand /var/log/message 2048
(パスフレーズの設定を求められる。設定するなら忘れずメモしておく。)
(`-des3`のオプションを省略すると、パスフレーズ不要となる。)
(-rand の引数は、上記のように適当にランダムなデータが入ったファイルを適宜選択。)
【CSR-クライアント署名要求書 を作る】
[root@myserver conf]# openssl req -new -key ssl.key/SERVER.key -out ssl.csr/SITE.csr
(定型の質問に答える。応え方もほぼ決まってる)
【自分で署名する - 10年間有効】
[root@myserver conf]# openssl x509 -req -in ssl.csr/SITE.csr -signkey ssl.key/SERVER.key -out ssl.crt/SITE.crt -days 3650
[root@myserver conf]# openssl x509 -req -sha256 -in ssl.csr/SITE.csr -signkey ssl.key/SERVER.key -out ssl.crt/SITE.crt -days 3650
【apacheの再起動】
[root@myserver conf]# apachectl stop [root@myserver conf]# apachectl -D SSL
(サーバ鍵のパスワードを入力)
(※ graceful オプションでは証明書が再読み込みされないように見えるので、ガツンとhttpdの再起動をする。)
たぶん大体こんな感じだったはず・・・だが!
補足と参考
【補足:自己署名まぬある】
http://www.bnote.net/kuro_box/self_ca.shtml
【補足:OpenSSLコマンドのマニュアル】
http://ash.jp/sec/openssl.htm
補足 SHA256にしようず
[CentOS6などで俺俺CAとSHA2証明書を作るときのメモ]
http://qiita.com/kgbu/items/44535b31c0f1a062693d