bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA アプリケーションのセキュリティ機能 > トラブルシューティング |
Tuxedo CORBA アプリケーションのセキュリティ機能
|
トラブルシューティング
ここでは、以下の内容について説明します。
注記 ここで述べられている問題は、CORBA アプリケーションで SSL プロトコルと証明書による認証を使用している場合に当てはまります。
ULOG および ORB トレース機能の使用
通常、オブジェクト・リクエスト・ブローカ (ORB) は、重大な障害を ULOG ファイルに書き込みます。CORBA C++ ORB では、ORB 内部トレース機能を有効にすることで、ULOG ファイルの情報以外の情報を参照することもできます。
ULOG ファイルを見ると、リモート ORB プロセスはデフォルトでは、データを APPDIR の ULOG ファイルには書き込みません。
ULOGPFX 環境変数を設定すると、リモート ORB 用の ULOG ファイルの場所を管理できます (たとえば、ULOG ファイルの場所を APPDIR に設定し、すべての情報が同じ ULOG ファイルに格納されるようにすることができます)。ULOGPFX 環境変数を次のように設定します。
Windows 2000
set ULOGPFX=%APPDIR%¥ULOG
UNIX
setenv ULOGPFX $APPDIR/ULOG
ORB トレース機能を有効にするには、次の手順を実行します。
CORBA::ORB_init Problems
ORB_init ルーチンは、内部 ORB トレース機能を実行しないので、無効な引数の処理に対するトレース出力を確認できません。したがって、ORB_init ルーチンに渡された引数を二重チェックする必要があります。
ORB_init ルーチンの実行中に CORBA::BAD_PARAM 例外が発生した場合は、必要なすべての引数に値が指定されていることを確認してください。また、特定の有効な値のセットからの値を予測している引数に正しい値があることも確認してください。ORB_init ルーチンの引数の値では、大文字と小文字を区別するので注意してください。
CORBA::NO_PERMISSION 例外が発生し、SSL 引数が ORB_init ルーチンに指定された場合、セキュリティ・ライセンスが有効になっていることを確認してください。また、指定した暗号化レベルが、セキュリティ・ライセンスでサポートされている暗号化レベルを超えていないことを確認してください。
ORB_init ルーチンの実行中に CORBA::IMP_LIMIT 例外が発生した場合は、システム・プロパティの ORBport と ORBSecurePort に同じ値が指定されていることを確認してください。
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 アドレス形式を使用しているときにクライアント・アプリケーションが失敗した場合は、以下をチェックします。
IIOP リスナ/ハンドラが SSL プロトコル用にコンフィギュレーションされているものの、セキュリティで保護されている接続を示す corbalocs 接頭辞なしに CORBA クライアント・アプリケーションが TOBJADDR オブジェクトを使用している場合に、ULOG ファイルに、非 GIOP メッセージを受信したことが記録されます。
証明書による認証の問題
証明書による認証に corbalocs URL アドレス形式を使用しているときにクライアント・アプリケーションが失敗した場合は、以下をチェックします。
エラーが発生しない場合、問題は認証プロセスにあります。ULOG ファイルには、問題を示す以下のエラー文のいずれかが含まれています。
ほかの認証に関する問題が発生する場合もあります。発生の可能性がある認証エラーの種類については、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 トレース機能を有効にしてエラーの詳細を確認してください。以下のエラーが発生する可能性があります。
ほかの認証に関する問題が発生する場合もあります。発生の可能性がある認証エラーの種類については、第 12 章の 11 ページ「デジタル証明書のトラブルシューティングのヒント」を参照してください。
注記 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 ファイルを確認してください。
コンフィギュレーションの問題
ここでは、セキュリティ使用時に発生する一般的なコンフィギュレーションの問題を解決する方法について説明します。
IIOP リスナ/ハンドラが再調整を実行しているかどうかを判定する別の方法は、クライアント側で ORB トレース機能を有効にし、暗号スイート調整コールバックがコンフィギュレーション済みの再調整の間隔を呼び出しているかどうかをチェックすることです。再調整が発生するためには、クライアント・アプリケーションが要求を送信している必要があります。
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 接続のイニシエータ) に対して自身を識別するための証明書を持ちません。
デジタル証明書のトラブルシューティングのヒント
通常、デジタル証明書の問題は、以下の場合に起こります。
-ORBpeerValidate システム・プロパティを none に設定し、再度 ORB_init ルーチンを実行すると、このエラーを検証できます。
理由がわからずにデジタル証明書が拒否された場合は、次の手順を実行します。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |