WebSphere Application Server, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

Secure Sockets Layer エラー

Secure Sockets Layer (SSL) を構成、または使用可能にした後で、さまざまな問題が 発生することがあります。SSL の構成後、デプロイメント・マネージャーを停止できなくなる 場合があります。また、HTTPS を使用したリソースにアクセスできなくなることもあります。 クライアントとサーバー間のネゴシエーションが、適切なセキュリティー・レベルで できなくなる場合があります。ここで取り上げる問題は、さまざまな可能性のごく一部にすぎません。 WebSphere Application Server を正常に運用するためには、 これらの問題の解決が必須です。

どのような問題が発生しましたか?

HTTPS を使ったリソースへのアクセス

Secure Sockets Layer (SSL) の URL (https: で始まる) を使用するリソースにアクセスできない場合、 または、SSL の問題を示すエラー・メッセージが表示される場合は HTTP サーバーが SSL 用に正しく構成されているか確認します。 URL https://host_name を入力し、SSL を使用している HTTP サーバーの「ようこそ」ページをブラウズします。

HTTPS ではなく HTTP によってページにアクセスできる場合は、HTTP サーバーに問題があります。
  • SSL を正しく使用できるようにするための説明については、 ご使用の HTTP サーバーの資料を参照してください。 IBM HTTP Server または Apache を使用している場合は、http://www.ibm.com/software/webservers/httpservers/library.html にアクセスしてください。 「Frequently Asked Questions」>「SSL」の順にクリックします。
  • IBM 鍵管理 (IKeyman) ツールを使用して証明書と鍵を作成する場合は 、IBM 鍵管理ツールを使用して鍵データベース (KDB) ファイルを作成する際に、 パスワードをファイルに隠しておくことを忘れないでください。
    1. KDB ファイルが作成されたディレクトリーに移動し、.sth ファイルがあるかどうかを確認します。
    2. ない場合は、IBM 鍵管理ツールを使用して KDB ファイルを開き、 「Key Database File」>「Stash Password」の順にクリックします。 「The password has been encrypted and saved in the file」というメッセージが表示されます。

HTTP サーバーが SSL 暗号化要求を正常に処理する場合、 または、HTTP サーバーが関係しない (例えば、トラフィックが Java クライアント・アプリケーションから WebSphere Application Server が ホストするエンタープライズ Bean に直接送信されるか、 あるいは WebSphere Application Server セキュリティーを使用可能にした後にのみ問題が発生する) 場合には、 どのようなエラーが表示されますか?

プログラマチックにクレデンシャルを作成する際に、「org.omg.CORBA.INTERNAL: EntryNotFoundException」または「NTRegistryImp E CWSCJ0070E: 以下に対して特権 ID が構成されていません」というエラー・メッセージが表示されます。

セキュリティー関連の問題を診断および解決するための一般的なヒントについては、セキュリティー・コンポーネントのトラブルシューティングのヒント を参照してください。

類似した問題が見つからない場合、 または提供されている情報では問題が解決されない場合は、 IBM からのトラブルシューティングのヘルプ を参照してください。

javax.net.ssl.SSLHandshakeException - The client and server could not negotiate the desired level of security. Reason: handshake failure

次の例のような Java 例外スタックが表示される場合、
[Root exception   is org.omg.CORBA.TRANSIENT:  CAUGHT_EXCEPTION_WHILE_CONFIGURING_SSL_CLIENT_SOCKET: CWWJE0080E:   javax.net.ssl.SSLHandshakeException - The client and server could not negotiate the desired level of   security. Reason: handshake failure:host=MYSERVER,port=1079 minor code: 4942F303 completed: No]   at com.ibm.CORBA.transport.TransportConnectionBase.connect (TransportConnectionBase.java:NNN)
次のような原因が考えられます。
  • クライアントとサーバーの間に共通する暗号がない。
  • 正しいプロトコルを指定していない。
以下の方法で、これらの問題を解決します。
  1. SSL 設定を確認します。管理コンソールで、「セキュリティー」>「SSL 証明書および鍵管理」とクリックします。 「構成設定」で、「エンドポイント・セキュリティー構成の管理」 > 「endpoint_configuration_name」 とクリックします。 「関連項目」の下で「SSL 構成」>「SSL_configuration_name」とクリックします。 install_root/properties/sas.client.props ファイルを表示することにより、このファイルを手動で参照することもできます。
  2. com.ibm.ssl.protocol ファイルで指定されたプロパティーを確認して、指定されたプロトコルを判別します。
  3. com.ibm.ssl.enabledCipherSuites インターフェースで指定された暗号タイプを確認します。 リストに暗号タイプを追加することもできます。 どの暗号スイートが現在使用可能になっているかを確認するには、 「Quality of protection settings (QoP)」をクリックして、 「暗号スイート」プロパティーを探します。
  4. 異なるクライアント・プロトコルまたはサーバー・プロトコル、および暗号選択を使用することにより、 プロトコルまたは暗号の問題を解決します。 一般的なプロトコルは SSL または SSLv3 です。
  5. 128 ビットではなく、40 ビットの暗号を選択する。 Common Secure Interoperability Version 2 (CSIv2) の場合、sas.client.props ファイルで、 次のプロパティーをいずれも false に設定します。あるいは、 管理コンソール設定で security level=medium と設定します。
    • com.ibm.CSI.performMessageConfidentialityRequired=false
    • com.ibm.CSI.performMessageConfidentialitySupported=false

javax.net.ssl.SSLHandshakeException: unknown certificate

次の例のような Java 例外スタックが表示される場合は、 クライアントのトラストストア・ファイルにサーバー用の個人証明書がないことが原因となっている可能性があります。
ERROR: 初期コンテキストを取得できないか、開始コンテキストを検索できません。
終了します。
Exception received:
javax.naming.ServiceUnavailableException: A communication failure occurred
while attempting to obtain an initial context using the provider url: "corbaloc:iiop:localhost:2809".
Make sure that the host and port information is correct and that the server
identified by the provider url is a running name server. If no port number
is specified, the default port number 2809 is used.Other possible causes include
the network environment or workstation network configuration. [Root exception   is org.omg.CORBA.TRANSIENT:  CAUGHT_EXCEPTION_WHILE_CONFIGURING_SSL_CLIENT_SOCKET: CWWJE0080E:   javax.net.ssl.SSLHandshakeException - The client and server could not negotiate the desired level of   security. Reason: unknown certificate:host=MYSERVER,port=1940 minor code: 4942F303 completed: No]
以下の方法でこの問題を解決します。
  1. クライアントのトラストストア・ファイルをチェックして、 サーバー個人証明書からの署名者証明書があるかどうかを確認します。 自己署名のサーバー個人証明書の場合、署名者証明書が、個人証明書の公開鍵です。 認証局 (CA) 署名のサーバー個人証明書の場合、 署名者証明書が、個人証明書に署名した CA のルート CA 証明書です。
  2. サーバー署名者証明書をクライアントのトラストストア・ファイルに追加します。

javax.net.ssl.SSLHandshakeException: 不正な証明書

以下の状態が発生した場合は、Java 例外スタック・エラーが表示されることがあります。
  • 個人証明書が、SSL 相互認証に使用されるクライアントの鍵ストアに存在します。
  • 署名者証明書がサーバーのトラストストア・ファイルに抽出されないために、サーバーが SSL ハンドシェークを行う際に証明書を信頼できません。
以下のメッセージは、Java 例外スタック・エラーの例です。
ERROR: 初期コンテキストを取得できないか、開始コンテキストを検索できません。
終了します。
Exception received:
javax.naming.ServiceUnavailableException: A communication failure occurred
while attempting to obtain an initial context using the provider url: "corbaloc:iiop:localhost:2809".
Make sure that the host and port information
is correct and that the server identified by the provider url is a running name
server.  If no port number
is specified, the default port number 2809 is used.Other possible causes include
the network environment or workstation network configuration. [Root exception   is org.omg.CORBA.TRANSIENT:  CAUGHT_EXCEPTION_WHILE_CONFIGURING_SSL_CLIENT_SOCKET: CWWJE0080E:   javax.net.ssl.SSLHandshakeException - The client and server could not negotiate the desired level of   security. Reason:
bad certificate: host=MYSERVER,port=1940 minor code: 4942F303 completed: No]

この問題を確認するには、サーバーのトラストストア・ファイルをチェックして、 クライアント個人証明書からの署名者証明書があるかどうかを確認してください。 自己署名のクライアント個人証明書の場合、署名者証明書が、個人証明書の公開鍵です。 認証局 (CA) 署名のクライアント個人証明書の場合、 署名者証明書が、個人証明書に署名した CA のルート CA 証明書です。

この問題を解決するには、 クライアント署名者証明書をサーバーのトラストストア・ファイルに追加します。

プログラマチックにクレデンシャルを作成する際に、 「org.omg.CORBA.INTERNAL: EntryNotFoundException or NTRegistryImp E CWSCJ0070E: No privilege id configured for:」というエラーが発生する

SSL 相互認証を使用して WebSphere Application Server からクレデンシャルを要求しようとする際に、 クライアント・アプリケーションで、次の例外が表示される場合があります。
ERROR: 初期コンテキストを取得できないか、開始コンテキストを検索できません。
終了します。
Exception received: org.omg.CORBA.INTERNAL: Trace from server: 1198777258 
at host MYHOST on port 0 >>org.omg.CORBA.INTERNAL: EntryNotFoundException minor
code: 494210B0 completed: 
No at com.ibm.ISecurityLocalObjectBaseL13Impl.PrincipalAuthFailReason.
map_auth_fail_to_minor_code(PrincipalAuthFailReason.java:99)
または WebSphere Application Server から、下記のような同時エラーが発生する場合があります。
[7/31/02 15:38:48:452 CDT] 27318f5 NTRegistryImp E CWSCJ0070E: No privilege id configured for: testuser

この原因としては、クライアントによってサーバーに送信されたユーザー ID が、 そのサーバーのユーザー・レジストリーに存在しないことが考えられます。

この問題を確認するには、 サーバーに送信されている個人証明書の項目が存在することを調べてください。 ユーザー・レジストリーの仕組みに応じて、 ネイティブ・オペレーティング・システムのユーザー ID、 または Lightweight Directory Access Protocol (LDAP) サーバー項目を調べます。

この問題を解決するには、そのユーザー ID をユーザー・レジストリー項目 (例えば、 オペレーティング・システム、LDAP ディレクトリー、またはその他のカスタム・レジストリー) に追加して、 個人証明書を識別してください。

GUI アプリケーション・クライアントで「カタログ」タブレットが ブランクである (項目が表示されない)

このエラー・メッセージは、 PlantsByWebSphere Active X から EJB へのブリッジを使用する ActiveX クライアント・サンプル・アプリケーションを インストールすると、表示されます。

原因は、サーバー証明書が、 client.ssl.props ファイルで指定されるクライアント・トラストストアにないためです。 「com.ibm.ssl.enableSignerExchangePrompt」署名者プロパティーが true に設定されていても、 自動切り替えプロンプトはコマンド行プロンプトしかサポートしていません。 サンプル・アプリケーションがグラフィカル・ユーザー・インターフェースに依存して、 コマンド・プロンプトへのアクセスを提供しない場合 (例えば標準入力や標準出力を使用する場合)、 自動切り替えプロンプトは機能しません。

注: クライアント・テクノロジー・サンプルの アプレット・クライアントは、コマンド・プロンプトへのアクセス権を持たないため、 自動切り替えプロンプトを表示できません。したがって、アプレット・クライアントは 自動切り替えプロンプト機能を当てにすることはできません。

この問題を修正するためには、 retrieveSigners ユーティリティーを使用して手動で証明書を取得します。

-scriptCompatibility true を使用したマイグレーション後の、 SSL 構成の変更

scriptCompatibility true を使用したマイグレーション後は、SSL 構成のすべての属性が管理コンソールから編集できなくなります。 特に、ハードウェアの暗号設定は、表示できなくなるか、編集不能になります。

scriptCompatibility true フラグを使用すると、SSL 構成は、リリース 6.1 でのサポートのための新しいフォーマットにマイグレーションされません。 構成が最新フォーマットにマイグレーションされないときに、サポートされない新規機能が追加されました。

この問題を解決するには、6.1 より古いフォーマットの SSL 構成定義に代わる 新しい SSL 構成定義を作成するか、あるいは引き続き、スクリプトによってそれらの構成を編集します。




関連概念
welc6toptroubleshooting.html
関連タスク
retrieveSigners ユーティリティー使用によるクライアントでの署名者の取得
セキュリティー構成のトラブルシューティング
関連資料
アプリケーション・デプロイメントのトラブルシューティングのヒント
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:05:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/rtrb_sslprobs.html