Axis及びXFireでHttpsの使い方
このページはAxis及びXFireを使ったHttpsコネクタの設定方法を説明します。Key Store, trust store,認証に付いての説明は割愛させて頂きます。
Httpsを利用する場合は以下が必要です:
- クライアントとサーバのKey Stores
- Trust Store
Axis及びXFireを使う場合に、なぜHttpsコネクタを設定するのでしょうか?
理由は簡単です。エンドポイント・アドレス設定を覚え出してください - axis:https//localhost:8080。AxisはHttpsの上で動作するために、Axisコネクタはどこかでデフォルトとしてhttpsを使うように設定する必要があります。HttpsConnectorを設定することで、Axisに新規にコネクタを作成する代わりに(コネクタが存在しない場合に作成されます)、作成したHttpsConnectorを使うようにします。
クライアント認証なしでのせってい
基本的なHttpsConnectorの設定です。以下が必須です:
- サーバのKey Store
- Trust Store
コネクタがサーバに接続する前に認証が必要です。認証に失敗した場合は、接続しません。認証を行うには以下の5つのプロパティを設定します:
keyStore - セキュアなサーバ・ソケットを作成するためのサーバkeystoreの場所。
storePassword - サーバkeystoreのパスワード。
keyPassword - key storeの整合性と開くためのパスワード。
trustStorePassword - trustStoreのパスワード。
trustStore - trust keystoreの場所。
<connector name="myHttpsConnector" className="org.mule.providers.http.HttpsConnector">
<properties>
<property name="keyStore" value="serverKeystore"/>
<property name="storePassword" value="mulepassword" />
<property name="keyPassword" value="mulepassword" />
<property name="trustStorePassword" value="mulepassword" />
<property name="trustStore" value="trustStore"/>
</properties>
</connector>
「requireClientAuthentication」プロパティはデフォルトでfalseに設定されるために、この例では省略します。
クライアント認証の設定
クライアント認証を行う場合は、以下の3つのプロパティを設定します:
clientKeyStore - クライアントkeystoreの場所。
clientKeyStorePassword - クライアントkeystoreのパスワード。
requireClientAuthentication - クライアントが接続する場合に認証を行うか。
<connector name="myHttpsConnector" className="org.mule.providers.http.HttpsConnector">
<properties>
<property name="keyStore" value="serverKeystore"/>
<property name="storePassword" value="mulepassword" />
<property name="keyPassword" value="mulepassword" />
<property name="trustStorePassword" value="mulepassword" />
<property name="trustStore" value="trustStore"/>
<property name="clientKeyStore" value="clientKeystore"/>
<property name="clientKeyStorePassword" value="mulepassword"/>
<property name="requireClientAuthentication" value="true" />
</properties>
</connector>
以上で難しい設定は終わりました。後はAxis/XFireがhttpsで通信を行うESB Muleコンポーネントを設定します。
Axis: axis:https://localhost:8080
XFire: xfire:https://localhost:8080