CORBAアプリケーションにおけるセキュリティの使用

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

トラブルシューティング

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

注意: Oracle Tuxedo CORBA JavaクライアントとOracle Tuxedo CORBA JavaクライアントORBはTuxedo 8.1で非推奨になり、サポートされなくなりました。すべてのOracle Tuxedo CORBA JavaクライアントおよびOracle Tuxedo CORBA JavaクライアントORBのテキスト・リファレンスとコード・サンプルは、サード・パーティ製のJava ORBライブラリを実装または実行する際の参考や、プログラマの参照用としてのみ使用してください。
注意: サード・パーティのCORBA Java ORBのテクニカル・サポートは、各ベンダーによって提供されます。Oracle Tuxedoでは、サード・パーティのCORBA Java ORBに関する技術的なサポートやドキュメントは提供していません。

 


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

通常、Object Request Broker(ORB)は、重大な障害をULOGファイルに書き込みます。CORBA C++ ORBでは、ORB内部トレース機能を有効にすることで、ULOGファイルの情報以外の情報を参照することもできます。

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

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

Windows 2003

set ULOGPFX=%APPDIR%¥ULOG

UNIX

setenv ULOGPFX $APPDIR/ULOG

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

  1. APPDIRtrace.datという名前のファイルを作成します。trace.dat内で、all=onが指定されている必要があります。
  2. 以下のコマンドを使用してOBB_TRACE_INPUT環境変数を設定し、trace.datファイルを参照してからアプリケーションを実行するようにします。
  3. 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が有効であることを確認してください。

Secure Sockets Layer(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トレース機能を有効にしてエラーの詳細を確認してください。次のエラーが発生する可能性があります。

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

 


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プロパティを確認します。感嘆符が付いた黄色い三角形のマークは、そのプロパティに問題があることを示します。プロパティにそのマークが付いたデジタル証明書は、Oracle Tuxedoソフトウェアによって拒否されます。
  3. デジタル証明書のそのプロパティに問題がない場合、証明書チェーン内の次のデジタル証明書のプロパティをチェックします。証明書チェーン内のすべてのデジタル証明書に対して、そのプロパティを検証するまで、以上の手順を繰り返します。

  先頭に戻る       前  次