Secure Sockets Layer (SSL) を構成、または使用可能にした後で、さまざまな問題が 発生することがあります。SSL の構成後、デプロイメント・マネージャーを停止できなくなる 場合があります。また、HTTPS を使用したリソースにアクセスできなくなることもあります。 クライアントとサーバー間のネゴシエーションが、適切なセキュリティー・レベルで できなくなる場合があります。ここで取り上げる問題は、さまざまな可能性のごく一部にすぎません。 WebSphere Application Server を正常に運用するためには、 これらの問題の解決が必須です。
どのような問題が発生しましたか?
Secure Sockets Layer レパートリーを構成した後、ノード・エージェントを停止しないでデプロイメント・マネージャーを停止すると、次の回にデプロイメント・マネージャーを起動したときに以下のようなエラー・メッセージが表示されます。
CWWMU0509I: サーバー "nodeagent" にアクセスできません。It appears to be stopped. CWWMU0211I: エラーの詳細については次のファイルを参照してください: /opt/WebSphere/AppServer/logs/nodeagent/stopServer.log
このエラーは、デプロイメント・マネージャーが各ノード・エージェントに新しい SSL 証明書を伝搬しなかったために起こります。 ノード・エージェントはデプロイメント・マネージャーよりも古い証明ファイルを使っており、証明ファイルに互換性がありません。 この問題に対処するには、 ノード・エージェントとデプロイメント・マネージャーのプロセスを手動で停止します。
プロセスを終了するには、MVS コンソールを使用して c process_name と入力します。
停止する個々のプロセスを特定する際には、一定の項目について考慮する必要があります。 WebSphere Application Server は、停止される各プロセスについてプロセス ID を pid ファイルに保管するため、これらの *.pid ファイルを見つける必要があります。 例えば、スタンドアロン・インストール操作の server1.pid は、install_root/logs/server1.pid にあります。
Secure Sockets Layer (SSL) の URL (https: で始まる) を使用するリソースにアクセスできない場合、 または、SSL の問題を示すエラー・メッセージが表示される場合は HTTP サーバーが SSL 用に正しく構成されているか確認します。 URL https://host_name を入力し、SSL を使用している HTTP サーバーの「ようこそ」ページをブラウズします。
HTTP サーバーが SSL 暗号化要求を正常に処理する場合、 または、HTTP サーバーが関係しない (例えば、トラフィックが Java クライアント・アプリケーションから WebSphere Application Server が ホストするエンタープライズ Bean に直接送信されるか、 あるいは WebSphere Application Server セキュリティーを使用可能にした後にのみ問題が発生する) 場合には、 どのようなエラーが表示されますか?
システム SSL: System Secure Sockets Layer (SSL) 呼び出し可能サービスのプログラミング・インターフェースの使用に関する情報は、「z/OS System Secure Sockets Layer プログラミング (SD88-6252)」を参照してください。
セキュリティー関連の問題を診断および解決するための一般的なヒントについては、セキュリティー・コンポーネントのトラブルシューティングのヒント を参照してください。
類似した問題が見つからない場合、 または提供されている情報では問題が解決されない場合は、 IBM からのトラブルシューティングのヘルプ を参照してください。
[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)
解決策としては、 システム・プロパティーを使用せず、独自の鍵ストア/トラストストアを定義するソケット・ファクトリーを 使用することをお勧めします。例については、 http://www.ibm.com/developerworks/java/library/j-customssl/ を参照してください。
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]
解決策としては、 システム・プロパティーを使用せず、独自の鍵ストア/トラストストアを定義するソケット・ファクトリーを 使用することをお勧めします。例については、 http://www.ibm.com/developerworks/java/library/j-customssl/ を参照してください。
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 証明書です。
この問題を解決するには、 クライアント署名者証明書をサーバーのトラストストア・ファイルに追加します。
このエラー・メッセージは、 PlantsByWebSphere Active X から EJB へのブリッジを使用する ActiveX クライアント・サンプル・アプリケーションを インストールすると、表示されます。
原因は、サーバー証明書が、 client.ssl.props ファイルで指定されるクライアント・トラストストアにないためです。 「com.ibm.ssl.enableSignerExchangePrompt」署名者プロパティーが true に設定されていても、 自動切り替えプロンプトはコマンド行プロンプトしかサポートしていません。 サンプル・アプリケーションがグラフィカル・ユーザー・インターフェースに依存して、 コマンド・プロンプトへのアクセスを提供しない場合 (例えば標準入力や標準出力を使用する場合)、 自動切り替えプロンプトは機能しません。
この問題を修正するためには、 retrieveSigners ユーティリティーを使用して手動で証明書を取得します。
scriptCompatibility true を使用したマイグレーション後は、SSL 構成のすべての属性が管理コンソールから編集できなくなります。 特に、ハードウェアの暗号設定は、表示できなくなるか、編集不能になります。
scriptCompatibility true フラグを使用すると、SSL 構成は、リリース 6.1 でのサポートのための新しいフォーマットにマイグレーションされません。 構成が最新フォーマットにマイグレーションされないときに、サポートされない新規機能が追加されました。
この問題を解決するには、6.1 より古いフォーマットの SSL 構成定義に代わる 新しい SSL 構成定義を作成するか、あるいは引き続き、スクリプトによってそれらの構成を編集します。