JRun の Web サービスで SSL を使用する

Web サービスとクライアント間で安全なプラベート通信を行うために HTTP over SSL (HTTPS) を使用します。JRun の Web サーバまたは外部 Web サーバを通じて SSL を使用するように設定した JRun では、Web サービスクライアントは HTTPS を介して JRun Web サービスと通信できます。さらに、JRun 内で実行中の Web サービスクライアントは、わずかな設定で HTTPS を使用して Web サービスと通信できます。

SSL を使用するように JRun を設定する

SSL を使用するように JRun を設定する方法については、JMC (JRun 管理コンソール) のオンラインヘルプを参照してください。必要な SSL ハンドシェークを設定した Web サービスクライアントは、HTTPS を使用して JRun Web サービスでメソッドを呼び出すことができます。

SSL を使用するための Web サービスクライアントの設定

この例では、サーバからの SSL 証明書のコピーを持っていることを前提としています。証明書のコピーを取得するには、HTTPS を介して Web ブラウザを通じてサーバに接続し、証明書をファイルにエクスポートします。

SSL 証明書のコピーを入手したら、トラストストアに入れる必要があります。トラストストアでは、クライアントが信頼するサーバからの証明書を保持します。Sun の JRE (Java Runtime Environment:Java ランタイム環境) に含まれている keytool ユーティリティを使用してトラストストアを作成し、サーバの証明書をインポートできます。

SSL 証明書を作成してインポートするには

  1. コマンドプロンプトで、<JRun のルートディレクトリ>/lib ディレクトリに変更します。
  2. 次のコマンドを入力します。
    <Java のホームディレクトリ>bin/keytool -import -file <ファイルパス/
    証明書名>.cer
    -alias JRun -keystore trustStore
    
  3. パスワード入力のプロンプトが表示されたら、トラストストアのパスワードを入力します。
  4. JRun サーバの jrun.xml ファイル内の次の vmArgs 属性を設定します。
    javax.net.ssl.keyStorePassword の値には、手順 3 で入力したパスワードを指定します。
    <service class="jrunx.launcher.LauncherInfo" name="LauncherInfo">
    <attribute name="vmArgs">
    -Djava.protocol.handler.pkgs=
    com.sun.net.ssl.internal.www.protocol
    -Djavax.net.ssl.trustStore={path_to_JRun_lib}¥trustStore
    -Djavax.net.ssl.keyStorePassword=<パスワード>
    </attribute>
    ...
    

これらの手順を完了すると、HTTPS を使用してクライアントから Web サービスを呼び出すことができます。次の例は、HTTPS を使用するように設定した Web サービスの invoke タグを示しています。url 値のプロトコル部分は https である必要があります。また、ポート番号は JRun JMC で SSL を設定したときにポート番号として指定したものと一致する必要があります。

<web:invoke
namespace="AxisSampleJavaClassService"
url="https://localhost:443/ws/services"
operation="SampleService"
result="myresultInt"
scope="page">
<web:param name="input" value="3"/>
</web:invoke>

コマンドラインプログラムなどの JRun 外で動作する Web サービスクライアントを使用するには、Sun の JSSE (Java Secure Socket Extension) を設定する必要があります。
JSSE とは、SSL を処理するときに JRun が内部で使用するものです。JSSE の設定手順については、次の URL にある Sun のマニュアルを参照してください。

http://java.sun.com/products/jsse/index.html