自己署名でよければ近頃のOpenSSLでは非常に楽に作れます。
最近私が証明書セットを使っただけでも数々のアプリケーションが…
- apache(httpd)でHTTPからHTTPS
- postfixでSMTPからSMTPS
- dovecotでPOP3からPOP3S、IMAPからIMAPS
- OpenLDAPでLDAPからLDAPS
- stunnelで色々SSL化
ぱっと思い出すだけでも色々と出てくる、ということで今のところ最短の手順を残しておきます。
さて、OpenSSL近頃のバージョンといえば執筆時点では0.9.8~ですが、
新しめのものがインストールされているなら下記どっちかのディレクトリがあるはずです。
/etc/pki/tls/certs
/usr/share/ssl/certs
上はCentOS4,下はCentOS5で確認しました。無ければ手動でやります、詳しくは別記事で。
上記ディレクトリに cd して内容を参照したら、Makefileがありますか?
あれば下記のコマンド1発でキーペアの完成です。
make [任意のファイル名].pem
上記実行したらサーバ証明書に記載される内容を問われるので、
適宜入力しましょう。
斜体はサーバからの問い合わせ、太字が入力例なのでコモンネームに注意して各自適当に。
実際はもう少し続きますが、これ以降は全部空白でエンター押してかまいません。
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Hyogo
Locality Name (eg, city) [Newbury]:Kobe-shi
Organization Name (eg, company) [My Company Ltd]:iCRAFT Ltd.
Organizational Unit Name (eg, section) []: (部署名、無記入でもOK)
Common Name (eg, your name or your server's hostname) []:hogehoge.example.com
(コモンネーム、SSL証明書を適用するサーバのFQDNを書きましょう)
Email Address []:(省略可)
State or Province Name (full name) [Berkshire]:Hyogo
Locality Name (eg, city) [Newbury]:Kobe-shi
Organization Name (eg, company) [My Company Ltd]:iCRAFT Ltd.
Organizational Unit Name (eg, section) []: (部署名、無記入でもOK)
Common Name (eg, your name or your server's hostname) []:hogehoge.example.com
(コモンネーム、SSL証明書を適用するサーバのFQDNを書きましょう)
Email Address []:(省略可)
以上でキーペアが完成します。ファイル名は[任意のファイル名].pem
出来上がったファイルを覗いてみると、秘密鍵とサーバ証明書がそれぞれセクションが分かれた形で記述されています。
SSLを使うサーバアプリケーションのコンフィグで秘密鍵・証明書の指定する箇所では、両方同じファイルでOKです。
また、別々のファイルにしたい場合は、セクションが分かれたテキストをそのままコピー&ペーストで分割可能です。
ちゃんとできてるかの確認方法は、両方から生成できる公開鍵が一緒なら問題なし、
詳しくは別記事のSSL用秘密鍵と証明書がペアかどうか確かめるで。
ちなみに、WindowsServerでもIISリソースキットのselfssl.exeでこれまた楽に自己証明書の適用が可能です。
IIS 6.0 Resource Kit Tools について
http://support.microsoft.com/kb/840671/ja
使い方はまた別に記事にするかも知れないけど、特に注意する箇所もないのでどうしましょうか。