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設定ファイルを書く】

mod_sslの場合でーとか、バーチャルホストでーとか、いろいろをほげほげする。
※この文書は更新処理を前提とした覚書である。

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