4.15 SSLサポート
LANSA Integratorに付属のHTTPサービスは、標準Java SSL拡張経由でSSLを使用して通信できます。
SSLサポート用にIBM i を構成する場合は、IBMインフォメーション・センターのサイトを使用してください。
JSM manager.propertiesファイルの例を以下に示します。
#
# Java Service Managerの構成
#
# javax.net.ssl.keyStore=
# javax.net.ssl.keyStoreType=jks
# javax.net.ssl.keyStorePassword=
# javax.net.ssl.trustStore=
# javax.net.ssl.trustStoreType=jks
# javax.net.ssl.trustStorePassword=
# javax.net.debug=all
# javax.net.debug=ssl,handshake,data,trustmanager
#
# ssl.KeyManagerFactory.algorithm=IBMX509
# ssl.TrustManagerFactory.algorithm=IBMX509
# ssl.SocketFactory.provider=com.ibm.jsse.JSSESocketFactory
# ssl.ServerSocketFactory.provider=com.ibm.jsse.JSSEServerSocketFactory
#
#省略値では、SSLは省略値のコンテナーから省略値の証明書を使用する
#
# os400.certificateLabel=MYLABEL
# os400.certificateContainer=/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB
#
Java信頼/キー・ストア
省略値では、IBM Technology for Java JDKは、cacerts信頼/キー・ストア・ファイルを使用します。
cacertsファイルの場所は、JDKのバージョンとビット・モードによって異なります。
cacertsファイルは、以下のいずれかのディレクトリにあります。
/QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit/jre/lib/security
/QOpenSys/QIBM/ProdData/JavaVM/jdk50/64bit/jre/lib/security
/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre/lib/security
/QOpenSys/QIBM/ProdData/JavaVM/jdk60/64bit/jre/lib/security
省略値では、IBM Classic JDKの1.5と1.6は、cacerts信頼/キー・ストア・ファイルを使用します。
cacertsファイルの場所は、JDKのバージョンによって異なります。
/QIBM/ProdData/Java400/jdk15/lib/security
/QIBM/ProdData/Java400/jdk6/lib/security
省略値では、IBM Classic JDK 1.4はディジタル証明書マネージャーを使用します。
IBM Classic JDK 1.4のcacertsファイルは、以下のディレクトリにあります。
/QIBM/ProdData/Java400/jdk14/lib/security
cacertsファイルを信頼/キー・ストアとして使用するようにIBM Classic JDK 1.4を構成するには、以下のステップを行う必要があります。
manager.propertiesファイルを編集し、以下のプロパティを有効にします。
ssl.KeyManagerFactory.algorithm=IBMX509
ssl.TrustManagerFactory.algorithm=IBMX509
ssl.SocketFactory.provider=com.ibm.jsse.JSSESocketFactory
ssl.ServerSocketFactory.provider=com.ibm.jsse.JSSEServerSocketFactory
Digital Certificate Managerの使用時にクライアント認証接続に使用するデジタル証明書を選択するには、省略値の証明書を使用するか、独自の証明書を指定できます。
使用するデジタル証明書を指定するには、以下のプロパティを使用します。
os400.certificateLabel=MYLABEL
os400.certificateContainer=/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB
デジタル証明書コンテナーには、デジタル証明書が保管されます。IBM i システムの省略値証明書コンテナーを使用する場合、証明書コンテナーを指定する必要はありません。
特定のデジタル証明書コンテナーを使用するには、そのデジタル証明書コンテナーを指定する必要があります。
クライアントでのSSLクライアント認証
サーバーがクライアント認証用に構成されている場合、クライアントがサーバーの認証を受けると、サーバーはクライアントの証明書を要求します。
クライアントは署名付き証明書を送信し、サーバーはクライアントの証明書と既存の証明書のライブラリを比較しながらクライアントと同じ認証プロセスを行います。
信頼マネージャーがDigital Certificate Managerの場合、認証用にサーバーに送信される証明書はos400.certificateLabelプロパティで指定されます。
一部のサーバーでは、証明書に拡張されたキー属性「client authentication」 (1.3.6.1.5.5.7.3.2)を含める必要があります。
クライアント証明書に署名したCA証明書は、信頼できる証明書のサーバー・リストに含まれるように他のパーティーに送信する必要があります。
サーバーでのSSLクライアント認証
サーバーがクライアント認証用に構成されている場合、クライアントがサーバーの認証を受けると、サーバーはクライアントの証明書を要求します。
<VirtualHost 10.2.0.170>
Options None
ServerName LANSA01
SSLEngine On
SSLClientAuth required
SSLAppName QIBM_HTTP_SERVER_JSMSSL
</VirtualHost>
クライアントは署名付き証明書を送信し、サーバーはクライアントの証明書と既存の証明書のライブラリを比較しながらクライアントと同じ認証プロセスを行います。