BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   CORBA アプリケーションのセキュリティ機能   |   前へ   |   次へ   |   目次   |   索引

トラブルシューティング

 

ここでは、次の内容について説明します。

注記 ここで述べられている問題は、CORBA アプリケーションで SSL プロトコルと証明書による認証を使用している場合に当てはまります。

 


ULOG および ORB トレース機能の使用

通常、オブジェクト・リクエスト・ブローカ (ORB) は、重大な障害を ULOG ファイルに書き込みます。CORBA C++ ORB では、ORB 内部トレース機能を有効にすることで、ULOG ファイルの情報以外の情報を参照することもできます。

ULOG ファイルを見ると、リモート ORB プロセスはデフォルトでは、データを APPDIRULOG ファイルには書き込みません。

ULOGPFX 環境変数を設定すると、リモート ORB 用の ULOG ファイルの場所を管理できます (たとえば、ULOG ファイルの場所を APPDIR に設定し、すべての情報が同じ ULOG ファイルに格納されるようにすることができます)。ULOGPFX 環境変数を次のように設定します。

Windows 2000

set ULOGPFX=%APPDIR%\ULOG

UNIX

setenv ULOGPFX $APPDIR/ULOG

ORB トレース機能を有効にするには、次の手順を実行します。

  1. APPDIRtrace.dat という名前のファイルを作成します。trace.dat 内で、 all=on が指定されている必要があります。

  2. 以下のコマンドを使用して OBB_TRACE_INPUT 環境変数を設定し、 trace.dat ファイルを参照してからアプリケーションを実行するようにしま す。

    set OBB_TRACE_INPUT=%APPDIR%\trace.dat

    ORB トレース機能を別のファイルに送信する場合、次の行を trace.dat ファイルに追加します。

    output=obbtrace%p.log

    このコマンドは、トレース出力を、実行中のプロセスにちなんだ名前のファイルに送信します。たとえば、UNIX の ORB トレース機能を、NFS がマウントされたドライブに対して使用する場合に実行できます。この場合、トレース文ごとにユーザ・ログがファイルを開き、書き込み、閉じるために、トレースの性能は遅くなります。

 


CORBA::ORB_init の問題

ORB_init ルーチンは、内部 ORB トレース機能を実行しないので、無効な引数の処理に対するトレース出力を確認できません。したがって、ORB_init ルーチンに渡された引数を二重チェックする必要があります。

ORB_init ルーチンの実行中に CORBA::BAD_PARAM 例外が発生した場合は、必要なすべての引数に値が指定されていることを確認してください。また、特定の有効な値のセットからの値を予測している引数に正しい値があることも確認してください。ORB_init ルーチンの引数の値では、大文字と小文字を区別するので注意してください。

CORBA::NO_PERMISSION 例外が発生し、SSL 引数が ORB_init ルーチンに指定された場合、セキュリティ・ライセンスが有効になっていることを確認してください。また、指定した暗号化レベルが、セキュリティ・ライセンスでサポートされている暗号化レベルを超えていないことを確認してください。

ORB_init ルーチンの実行中に CORBA::IMP_LIMIT 例外が発生した場合は、システム・プロパティの ORBportORBSecurePort に同じ値が指定されていることを確認してください。

ORB_init ルーチンの実行中に CORBA::Initialize 例外が発生した場合は、OrbId または configset が有効であることを確認してください。

セキュア・ソケット・レイヤ (SSL) 引数が ORB_init ルーチンに渡されている場合、ORB は、SSL プロトコルをロードおよび初期化しようとします。SSL 引数が渡された場合、ORB は、SSL プロトコルを初期化しようとします。

ORB は、Bootstrap オブジェクトの新しい URL アドレス形式を認識しないので、corbaloc または corbalocs URL アドレス形式を指定した場合、ORB は、ORB_init ルーチンの実行時に SSL プロトコルのロードを試行しません。

SSL 引数を ORB_init ルーチンに対して指定した場合は、以下をチェックします。

問題が続く場合は、ORB トレース機能を有効にします。ORB トレース機能は、liborbssl ダイナミック・ライブラリがロードされて初期化されたときに発生する SSL の障害をログに記録します。

 


パスワード認証の問題

パスワード認証に corbalocs URL アドレス形式を使用しているときにクライアント・アプリケーションが失敗した場合は、以下をチェックします。

 


証明書による認証の問題

証明書による認証に corbalocs URL アドレス形式を使用しているときにクライアント・アプリケーションが失敗した場合は、以下をチェックします。

ほかの認証に関する問題が発生する場合もあります。発生の可能性がある認証エラーの種類については、Tobj::Bootstrap::resolve_initial_references の問題を参照してください。

注記 初期化プロセスの時点で発生した障害は、IIOP リスナ/ハンドラの問題ではありません。

 


Tobj::Bootstrap::resolve_initial_references の問題

corbaloc または corbalocs URL アドレス形式で Tobj::Bootstrap::resolve_initial_references を実行しているときに障害が発生した場合、CORBA::InvalidDomain 例外が発生します。この例外は、内部で発生する CORBA::NO_PERMISSION 例外または CORBA::COMM_FAILURE 例外をマスクする場合があります。ULOG ファイルを参照し、ORB トレース機能を有効にしてエラーの詳細を確認してください。以下のエラーが発生する可能性があります。

ほかの認証に関する問題が発生する場合もあります。発生の可能性がある認証エラーの種類については、デジタル証明書のトラブルシューティングのヒントを参照してください。

注記 Tobj_Bootstrap::resolve_initial_references() メソッドの Java インプリメンテーションは、InvalidDomain 例外をスローしません。corbaloc または corbalocs URL アドレス形式を使用している場合、Tobj_Bootstrap::resolve_initial_references() メソッドは、内部で InvalidDomain 例外をキャッチし、COMM_FAILURE を例外としてスローします。このメソッドは、下位互換性を提供するためにこのように機能します。

 


IIOP リスナ/ハンドラの起動の問題

ここでは、IIOP リスナ/ハンドラの起動時に発生する可能性がある問題について説明します。

IIOP リスナ/ハンドラを起動しているときに障害が発生した場合、ULOG ファイルをチェックしてエラーの詳細を確認します。IIOP リスナ/ハンドラは、CLOPT パラメータで指定した SSL 引数の値が有効かどうかを確認します。値のいずれかが無効な場合、対応するエラーが ULOG ファイルに記録されます。このチェックは、ORB で実行される引数チェックに似ています。

IIOP リスナ/ハンドラは、-m オプションが指定されない限りプロセスを開始しません。ISH は、SSL ライブラリを実際にロードおよび初期化するプロセスです。ISH プロセスの SSL ライブラリのロードおよび初期化で問題が発生した場合、ISH プロセスがクライアント・アプリケーションの要求の処理を開始するまで、エラーは ULOG ファイルに記録されます。

IIOP リスナ/ハンドラ・プロセスの起動で問題が発生したと思われる場合は、ULOG ファイルを確認してください。

 


コンフィギュレーションの問題

ここでは、セキュリティ使用時に発生する一般的なコンフィギュレーションの問題を解決する方法について説明します。

 


SSL プロトコルでコールバック・オブジェクトを使用する場合の問題

共同クライアント/サーバ・アプリケーションがあり、そのクライアント側で corbalocs URL アドレス形式を使用するか、クリデンシャルを要求してセキュリティ要件を指定している場合、ORB_init ルーチンで -ORBsecurePort システム・プロパティを使用して、使用するセキュリティ保護ポートを指定する必要があります。

-ORBsecurePort システム・プロパティを指定しない場合、CORBA::NO_PERMISSION 例外が発生してサーバ登録が失敗します。これが問題かどうかを検証するには、ORB トレース機能を有効にして、以下のトレース出力を探します。

TCPTransport::Listen: FAILURE: Attempt to listen on clear port while Credentials require SSL be used

コールバック・オブジェクトで SSL プロトコルを使用する場合、共同クライアント/サーバ・アプリケーションは、証明書による認証で SecurityLevel2::PrincipalAuthenticator::authenticate() メソッドを使用する必要があります。それ以外の場合、共同クライアント/サーバ・アプリケーションは、IIOP リスナ/ハンドラ (ここでは、SSL 接続のイニシエータ) に対して自身を識別するための証明書を持ちません。

 


デジタル証明書のトラブルシューティングのヒント

通常、デジタル証明書の問題は、以下の場合に起こります。

理由がわからずにデジタル証明書が拒否された場合は、次の手順を実行します。

  1. Microsoft Explorer などのビューアでデジタル証明書を開きます。

  2. デジタル証明書の KeyUsage プロパティおよび BasicConstraints プロパ ティを確認します。感嘆符が付いた黄色い三角形のマークは、そのプロパ ティに問題があることを示します。プロパティにそのマークが付いたデジタ ル証明書は、BEA Tuxedo ソフトウェアによって拒否されます。

  3. デジタル証明書のそのプロパティに問題がない場合、証明書チェーン内の次 のデジタル証明書のプロパティをチェックします。証明書チェーン内のすべ てのデジタル証明書に対して、そのプロパティを検証するまで、以上の手順 を繰り返します。

 

back to top previous page next page