先のエントリで、E61はウチのサーバー証明書のルートCAの証明書をもっていないので、SSL通信時に確認ダイアログが出てしまう、と書きました。
原理的には、手動でサーバー証明書をブラウザにインストールしてやれば警告を出なくすることは可能なはずなのでチャレンジ。
■オレオレ(自己署名)証明書の場合
最初、こちらを参考に自サーバーのcerファイルをブラウザインストール用のder形式ファイルに変換。ウチはOpenSSLなので、
# openssl x509 -inform pem -in (crtファイル名) -outform der -out (derファイル名).der
てな感じでderファイルを作成。これをサーバーの適当な場所に起き、ブラウザが適切なファイル形式で扱えるよう、MIMEタイプを設定します。Apacheの場合、httpd.confなどに、
AddType application/x-x509-ca-cert .der
と追記します。ウチはssl.confに.crt拡張子の設定が入っていたので、それをコピーして最後の3文字だけ変更しました。
Apacheを再起動し、E61の内蔵ブラウザでderファイルのURLに直接アクセスすると、証明書保存のダイアログが出るので、保存します。
■CA署名済みの証明書だが、端末にルート証明書が入ってない場合
オレオレ証明書の場合は上記で上手くいきました。しかし、ウチはGeoTrustのRapidSSLで認証された証明書で、この方法ではダメでした。CAチェーンのある証明書の場合は、ルート方向へ遡ってチェックされてしまうようです。
結論はというと、同サイトのサポートページのここにある「Download – RapidSSL Root Certificate (Base-64 encoded X.509)」というリンクに貼られているrapidssl_01.cerというファイルを取得し、これを元に上記手順で.derファイルを作成してE61に食わせたところ、見事に警告ダイアログ無しで接続できました。自サーバーの証明書を削除してもOKなようで、こういう時はルートCA側の公開鍵をインストールするってのがキモのようですね。他がどうかわかりませんが、RapidSSLがRoot証明書をわかりやすいところに貼っておいてくれて助かりました。
内蔵ブラウザだけでなく、内蔵メーラーでのTSL/SSL通信でも警告が出なくなったので、これで安全性と簡便性を両立したメールチェックができます。