プロトコルサポート
この章では、次のトピックについて説明します。
HTTP、FTP、および GOPHER
Java Plug-in は、HTTP、FTP、および GOPHER プロトコルをサポートします。この中には、組み込みプロキシ構成サポートも含まれています。
HTTPS
はじめに
Java Plug-in では、HTTPS が Java Secure Socket Extension (JSEE) を介してサポートされています。JSEE は、Java プラットフォームに対して SSL と HTTPS の Java 実装を提供しています。
エラー処理のサポート
HTTPS サーバへのアクセス時に、エラーが発生する場合があります。Java Plug-in は、JSSE にフックすることにより、次のタイプのエラー処理を提供します。
- ホスト名の不一致: HTTPS サーバのホスト名がサーバ証明書の名前と一致しない場合、警告ダイアログが表示されます。
- 信頼されないサーバ証明書: SSL ハンドシェーク時にサーバ証明書を検証できない場合、警告ダイアログが表示されます。
- 信頼されないクライアント証明書: サーバによりクライアント認証が必要とされ、かつクライアント証明書を検証できない場合、警告ダイアログが表示されます。
- サーバ認証: クライアントが HTTPS サーバ上の保護されたディレクトリにアクセスする場合、ユーザ名およびパスワードの入力が求められます。 注:現在のところ、基本的な認証のみがサポートされています。
JSSE を利用する HTTPS の潜在的な問題点
JSSE を介した HTTPS サポートにより、ブラウザ固有の問題の多くが取り除かれますが、開発者が留意する必要のあるいくつかの問題が存在します。
- 信頼されないサーバ証明書: HTTPS 接続の確立時に SSL ハンドシェークが行われると、サーバ証明書の検証が J2SE のルート CA ストアに対して行われます。ただし、J2SE がサポートするルート CA 証明書の数は、ブラウザがサポートするルート CA 証明書の数ほど多くありません。このため、信頼されないサーバ証明書で問題が発生する場合があります。
- クライアント認証: HTTPS サーバの中には、クライアント認証を必要とするものがあります。この場合、ローカルのクライアント証明書が、認証目的でサーバに送信されます。JSSE では、クライアント証明書は、ブラウザから独立した別個のファイルに保存されます。クライアント認証が機能するために、開発者は、keytool を使用してクライアント証明書を JSSE 内にインポートする必要があります。詳細は、「JSSE ドキュメント」を参照してください。
- エラー処理のレベル: Java Plug-in は、現在のところ、前のセクションに挙げたエラータイプを処理します。ただし、Java Plug-in の認識しない他のエラータイプが存在する場合、Java アプレットの処理は中断されます。
Socks
現在、Java Plug-in は SOCKS バージョン 4 をサポートします。
注: HTTP/HTTPS の場合、SOCKS プロキシサーバを Web プロキシサーバと併用して、キャッシュを追加できます。ただし、この動作は、ブラウザ内の同様の構成を Java Plug-in を使用せずに実行する場合の動作とは異なる可能性があります。
NTLM 認証
Java Plug-in では、HTTP/HTTPS 用の NTLM 認証プロトコルがサポートされています。NTLM 認証を要求するサーバにユーザがアクセスしようとすると、ダイアログが表示され、ユーザ名とパスワードの入力が求められます。アクセスしようとしているサーバのドメインとユーザのドメインが同じ場合は、ユーザ名とパスワードだけが必要です。ただし、ユーザのドメインがサーバのドメインと異なる場合は、サーバのドメインも入力する必要があります。次のようにバックスラッシュ (\
) で区切って、ユーザ名のフィールドに入力します。
<domain>\<username>
パスワードはパスワードのフィールドに通常どおりに入力します。