第9章 Java EE 7機能の認証とアクセス制御
第4部 SSLによる暗号化通信
17.3 CORBAクライアントの環境設定
Portable-ORBの場合
クライアント(Portable-ORB)でHTTPトンネリングを使用する場合は、Webブラウザの環境に証明書を登録します。 Portable-ORBのSSL環境の設定について説明します。
証明書発行局から発行されたサイト証明書を使用してSSL通信を行うためには、サイト証明書の発行局の証明書をWebブ ラウザに登録する必要があります。Webブラウザへの登録は、以下の方法で行います。
・ 発行局の証明書をSSL環境が設定されていないWebサーバに公開する。
・ Webブラウザからの初回アクセス時に発行局の証明書が登録される。
Webブラウザへ登録されると、SSL環境が設定されたWebサーバのサービスを利用できるようになります。
例
発行局の証明書を登録するためのHTMLの例を以下に示します。以下のリンクをクリックすることにより、発行局の証明書が Webサーバからダウンロードされ、Webブラウザに登録されます。
<HTML>
<BODY>
<A HREF="cacert.der">発行局の証明書</A>
・ ・ </BODY>
</HTML>
注意
・ Portable-ORB版のHTTPトンネリングでSSL通信を行う場合、使用できないブラウザとJava VMの組合せがあります。ブ
ラウザとJava VMの組合せによるサポートの可否を以下に示します。
ブラウザ Java VM HTTPS(SSL)
Internet Explorer JBKプラグイン 可 (注)
Internet Explorer Java Plug-in 不可
注) JBKプラグインを使用する場合、JBKプラグインの設定ファイル(jbkplugin.properties)に以下を記述する必要があ ります。
jbk.plugin.protocol.https=native
JBKプラグインの詳細については、Interstage Studioの「J Business Kit オンラインマニュアル」を参照してください。
・ 発行局の証明書のデータタイプは「application/x-x509-ca-cert」です。Webサーバの環境定義ファイルで指定するデー タタイプとファイルの拡張子の関連を指定するファイル(定義名:content-type)に「application/x-x509-ca-cert」の定義が あり、作成した証明書のファイルの拡張子が関連付けられていることを確認してください。
・ 発行局の証明書をダウンロードするためのWebサーバは、必ずしもSSL通信を行うWebサーバと同じサーバである必要 はありません。
・ 証明書の有効期限切れなどの理由で発行局の証明書を更新した場合は、古い証明書をいったんWebブラウザ内から 削除した後、新しい証明書をWebブラウザにダウンロードして再登録する必要があります。
クライアント証明書の取得
SSLバージョン3.0を使用してクライアント認証を行うするためには、Webブラウザにクライアント証明書(サイト証明書)が必要 です。また、クライアント証明書の発行局の証明書を証明書/CRL管理環境に登録する必要があります。クライアント証明書は、
証明書発行局に発行を依頼し取得します。
クライアント証明書としては、InfoCA、またはSystemwalker PKI Managerが発行する証明書が使用できます。詳細につい ては、InfoCA、またはSystemwalker PKI Managerのマニュアルを参照してください。
10.2.3 HTTPトンネリングの起動方法
HTTPトンネリングを使用する場合は、クライアントアプリケーションで呼び出しているCORBA_ORB_init関数に下表に示す パラメタを指定します。
Javaアプレット以外のアプリケーションの場合
アプリケーション起動時に、パラメタとして指定します。
ただし、アプリケーション側では起動時のパラメタをCORBA_ORB_init関数に渡す作りになっている必要があります。
mainの引数をCORBA_ORB_init関数にそのまま渡しているアプリケーションの場合は問題ありませんが、そうでない
アプリケーションの場合はアプリケーションロジックを修正してCORBA_ORB_init関数にHTTPトンネリング用のパラメタを 渡す必要があります。
Javaアプレットの場合
HTMLファイルで<param>タグを使用して、アプレット起動時のパラメタを指定します。
HTTPトンネリングのパラメタ -ORB_FJ_HTTP
HTTPトンネリングを使用する/しないを設定します。
- yes : HTTPトンネリングを使用する。(注1)
省略された場合、またはyes(大文字小文字は意識しない)以外の値が設定された場合は、HTTPトンネリングを使用し ません。
-ORB_FJ_SSL
HTTPトンネリング使用時に、SSL通信を行う/行わないを設定します。
- yes : SSL通信を行う。
アプレットのダウンロードでHTTPSが使用されず、パラメタが省略された場合、またはyes(大文字小文字は意識しない) 以外の値が設定された場合は、SSL通信を行いません。
アプレットのダウンロードでHTTPSを使用した場合は、パラメタの有無および設定内容にかかわらず、SSL通信を行います。
-ORB_FJ_HTTPGW
HTTPトンネリングを処理するゲートウェイを指定します。省略時は、HTTPトンネリングを使用しません。(注2)
なお、SSL通信を行う場合の書式を指定すると、「-ORB_FJ_SSL」パラメタの設定内容にかかわらずSSL通信を行います。
「-ORB_FJ_SSL」パラメタに「yes」を設定すると、以下の書式にかかわらずSSL通信を行います。
- SSL通信を行う場合の書式
https://ホスト名/URL名
- SSL通信を行わない場合の書式
http://ホスト名/URL名 ホスト名
HTTP-IIOPゲートウェイが動作するWebサーバを指定します。
URL名
od-httpgwを指定します。URL名にはLocationディレクティブのURLを指定します(詳細は「Interstage HTTP Server 運用ガイド」参照)。
注1)
yesを指定した場合、CORBA_ORB_init()にパラメタで通知されたargc,argvの値を設定するとHTTPトンネリング機能が 有効になります。
注2)
「-ORB_FJ_HTTPGW」に渡す引数として、指定可能なホスト名の形式を以下に示します。
http://ホスト名・IPv4アドレス/URL名
http://ホスト名・IPv4アドレス:ポート番号/URL名 http://[IPv6アドレス]/URL名
http://[IPv6アドレス]:ポート番号/URL名 https://ホスト名・IPv4アドレス/URL名
https://ホスト名・IPv4アドレス:ポート番号/URL名
IPv6形式のアドレスを使用する場合は、大カッコ(「[」 と 「]」)で囲む必要があります。
なお、IPv6環境ではSSL機能が使用できないため、「https」は指定できません。
パラメタの指定方法
アプリケーションタイプ別のパラメタ指定方法を説明します。
注意
HTTPトンネリング固有の注意事項以外については、使用するクライアントランタイム(プレインストール型クライアントおよび Portable-ORB)の制限事項ならびに注意事項が適用されます。
Javaアプレット以外のアプリケーションの場合
クライアントアプリケーション(sample_c)を起動する場合、パラメタを以下のように指定します。
sample_c -ORB_FJ_HTTP yes -ORB_FJ_SSL yes -ORB_FJ_HTTPGW http://host.com/od-httpgw
注意
・ クライアントアプリケーションでは、富士通拡張インタフェースのCORBA_ORB_net_disconnect()を使用し、使用した通 信資源を解放してください。なお、SolarisまたはLinuxの場合は、通信資源は自動的に解放されるため不要です。
・ Windowsの場合、通信資源が自動的には解放されません。このため、通信資源の解放を行わずにクライアントアプリ
ケ ー シ ョ ン の 起 動/終 了 を 繰 り 返 す と 、 通 信 資 源 が リ ー ク し ま す 。 こ の 場 合 、 サ ー バ 側 でconfigフ ァ イ ル の max_IIOP_resp_conの値に設定されたコネクションの数が不足し、COMM_FAILURE例外が通知されることがあります。
また、通信資源の不足が発生し、od40004メッセージなどが出力される場合があります。
・ HTTPトンネリングに使用できるアプリケーション種別はC,C++,Java,COBOL,OOCOBOLで作成されたクライアントアプ リケーションです。 OLE-CORBAゲートウェイからは使用できません。
Javaアプレットの場合
Javaアプレットを使用する場合のHTMLの記述例を以下に示します。
なお、HTMLにパラメタを記述する場合、パラメタ名のハイフン(「-」)は指定しません。
プレインストール型Javaライブラリを使用する場合 <HTML>
<HEAD><!--demo.html-->
<TITLE>Java sample Applet </TITLE>
</HEAD>
<BODY>
<H1>Java sample Applet</H1>
<applet code="Sample.class" width=300 height=250>
<PARAM NAME=ORB_FJ_HTTP VALUE=yes>
<PARAM NAME=ORB_FJ_SSL VALUE=yes>
<PARAM NAME=ORB_FJ_HTTPGW VALUE=http://host.com/od-httpgw>d </applet><BR>
</BODY>
</HTML>
Javaアプレットを使用する場合のHTMLファイルの記述方法については、「アプリケーション作成ガイド(CORBAサービス編)」
の「アプリケーションの開発(Java言語)」を参照してください。
10.2.4 HTTPプロキシサーバ使用時の設定
プレインストール型ランタイム(Portable-ORB以外の実行環境)において、HTTPプロキシサーバを経由したHTTPトンネリン グを行う場合、CORBAサービスのconfigファイルに以下の設定が必要です。
http_proxy_use
HTTPトンネリング機能の使用する(yes)/しない(no)を指定します。
http_proxy
HTTPプロキシサーバのホスト名を指定します。
http_proxy_port
HTTPプロキシサーバのポート番号を指定します。
なお、configファイルの新しい設定値を有効にするためには、CORBAサービスを再起動してください。
例
http_proxy_use = yes
http_proxy = proxy.xxx.com http_proxy_port = 8080
注意
Portable-ORBを使用する場合は、Webブラウザに設定されているプロキシサーバを使用するため、設定は必要ありません。
第 11 章 J2EE の HTTP トンネリング
本章では、J2EEのHTTPトンネリングについて説明します。
J2EEのHTTPトンネリングは、以下から使用可能です。
・ J2EEアプリケーションクライアント
・ IJServer(Webアプリケーションのみ運用)
・ Javaアプレット
J2EEのHTTPトンネリングは、以下のタイプのIJServerで使用できます。
・ Webアプリケーションのみ運用
11.1 J2EE アプリケーションクライアントでの HTTP トンネリングの使用 方法
J2EEアプリケーションクライアントでHTTPトンネリングを使用する場合は、HTTPトンネリングを処理するゲートウェイをJNDI 環境プロパティのHTTPGWで指定します。JNDIの環境プロパティの詳細については、「J2EE ユーザーズガイド(旧版互換)」 の「JNDIサービスプロバイダの環境設定」を参照してください。
例
コマンドラインでの引数(-D)での記述例を以下に示します。
・ Interstage HTTP Serverの場合
java -DHTTPGW=http://host.com/od-httpgw SampleClient
・ Internet Information Servicesの場合
java -DHTTPGW=http://host.com/cgi-bin/ODhttp.dll SampleClient
11.2 IJServer(Webアプリケーションのみ運用)でのHTTPトンネリン グの使用方法
IJServerではタイプが「Webアプリケーションのみ運用」でのみHTTPトンネリングを使用することができます。HTTPトンネリング
機能を使用する場合は、IJServerのJava VMオプション、またはFJjndi.propertiesファイルで、環境プロパティとして
「HTTPGW」を設定してください。
環境プロパティ「HTTPGW」の値と設定内容については、「J2EE ユーザーズガイド(旧版互換)」の「JNDIサービスプロバイ ダの環境設定」の「J2EEアプリケーションクライアント」を参照してください。
11.3 JavaアプレットでのHTTPトンネリングの使用方法
Javaアプレットの起動時に、HTMLの<PARAM NAME>タグのパラメタで指定します。
指定するパラメタについては、「10.2.3 HTTPトンネリングの起動方法」-「HTTPトンネリングのパラメタ」を参照してください。