« officeさんとACCSの決着について | Main | Javaの配布は結局どうしたかのかというと »

2005.04.05

オレオレ証明書を信頼させるには?

以前の私の「コードサイニングな話」で書いたとおり、現時点では、必ず認証局に登録しないと駄目だという現状をお話しました。

SSLがこれだけ浸透した今では、おそらく証明書の受け渡しだけでもSSLを使っておけば、通信中の改ざんの危険性は非常に低いわけですから、その証明書で署名されているプログラムは承認するという形式がとれなくもありません。JavaWebStartに、なんで、そんな機能が用意されてないのか不明だったのですが、どうやら、提供側が意図していないだけのようです。

私の疑問に対する直接の回答ではりませんが、高木さんのPKIよくある勘違い(8)「自分専用なのに第三者から証明書を買えというのはおかしい」にて、こう書いてあります。

PKIというよりSSLにある勘違いであるが、オレオレ証明書を使うべきでないという考え方が広まってくると、今度は、自分専用のサーバなのに、「オレオレ証明書じゃだめなのか?」と考えてしまい、「自分専用なのに何万円も払って証明書を買わないといけないなんてのは、どう考えてもおかしい!何か間違ってる!」といった思考に至ることがありそうだ。

自分専用であればオレオレのサーバ証明書で運用してかまわない。ただし、ブラウザの警告を無視して「はい」を押してはいけない。「能動的な盗聴」の被害に遭うおそれがあるという点で、SSLの機能は完全には働かないからだ。

こういうとき、Webブラウザが Firefoxであれば、次の手順で設定することで、自作のサーバ証明書で正しく安全に運用できる。

まず、サーバに自作の証明書と秘密鍵をセットする。そして、その証明書を手作業で(ネットを使わずに)運んできて、ブラウザにインポートする。インポートの手順は以下の通り。

そして、記事はFirefox上での操作手順が記述してあり、最後にIEには同様の機能がないという話で締めくくられています。(実際には、IEに対応するには秘密鍵を証明書作成後に、即削除してしまうという手法も紹介されているが、コードサイニング署名では、若干使いづらいかもしれません。)

まあ、このようにSSL通信に関しては、Firefoxは既に対処済みなわけです。これを、そのままJavaWebStartにもってきたら良い様な気もするんですが、難しいんでしょうか…。それとも、何か見落としがあったり。

|

« officeさんとACCSの決着について | Main | Javaの配布は結局どうしたかのかというと »