Java RMIでのSSLの使用
Java Remote Method Invocation (Java RMI)アプリケーションで安全なSSL接続を使ってリモート呼出しを行う方法について、多くの質問が寄せられています。Java RMIでのSSLの使用に関する質問と回答のいくつかを次に示します。
Q1: Java RMIでSSLを使用できますか。
- A1: はい。カスタム・ソケット・ファクトリを使用すれば可能です。アプリケーションで、リモート・オブジェクトをエクスポートし、必要なタイプのソケット(SSLソケットなど)を作成するカスタム・ソケット・ファクトリを使用できます。この手法を使用すると、アプリケーションはデフォルトのソケット通信のかわりに、SSLソケット通信を使用できます。カスタム・ソケット・ファクトリの使い方の詳細は、Java RMIによるカスタム・ソケット・ファクトリの使用に関するチュートリアルを参照してください。
Q2: SSLのPure Javaプログラミング言語の実装製品はどこにありますか。
- A2: JDKには、SSLソケットの実装を提供するJava Secure Socket Extension (JSSE) APIが含まれています。JSSEの機能および利点の詳細は、『JSSEリファレンス・ガイド』を参照してください。
Q3: Java RMIでSSLを使っている例はどこにありますか。
- A3: リモート・オブジェクトの呼出し用にSSLベースの接続を使用する方法を説明したJSSEコード例に例がバンドルされています。これは、リモート・オブジェクトをエクスポートし、SSLソケットを作成するカスタム・ソケット・ファクトリを使うことによって実現します。JDKではいくつかの標準SSLベースのカスタム・ソケット・ファクトリ・クラスを提供しています。詳細は、
javax.rmi.ssl
パッケージを参照してください。