CWI SSL の設定で問題が発生している場合は、
Enterprise Server とは完全に別個に証明書をテストすると役立つことがあります。たとえば、
openssl コマンドを使用して証明書の内容を確認できます。
openssl x509 -in file.pem -noout -text
また、
openssl s_server および
openssl s_client を単純な SSL サーバーおよびクライアントとして使用して、証明書に問題がないことを確認できます。
TCPIPSERVICE の起動エラー
サーバー証明書が有効である場合に、TCPIPSERVICE の起動で問題が発生する際は、コンソール ログでエラー メッセージを確認してください。考えられるメッセージおよび推奨される修正措置は、次のとおりです。
- CASSI1010W Error environment variable ES_CERTIFICATES_LOCATION not set or pointing to an invalid location
- 環境変数 ES_CERTIFICATES_LOCATION が設定されており、有効な場所をポイントしていることを確認します。
- CASSI1011W TCPIPSERVICE <TCPIPSERVICE name> could not be started. Certificate <server certificate> could not be found
- サーバー証明書のファイル名 (拡張子を除く) が TCPIPSERVICE で指定されている証明書ラベルと一致し、ES_CERTIFICATES_LOCATION 環境変数の値で参照されているディレクトリ内にあることを確認します。TCPIPSERVICE で証明書が指定されていない場合は、サーバー証明書のファイル名は ES_DFLT_CERTIFICATE_NAME_SERVER 環境変数の値と一致する必要があります。
- CASSI1012W Error no certificate specified for TCPIPSERVICE <TCPIPSERVICE name> and ES_DFLT_CERTIFICATE_NAME_SERVER not set
- サーバー証明書が TCPIPSERVICE または環境変数 ES_DFLT_CERTIFICATE_NAME_SERVER で指定されていることを確認します。証明書のファイル拡張子は指定しないでください。
- CASSI1013W Error TCPIPSERVICE <TCPIPSERVICE name> could not be started. No passphrase for server certificate <server certificate>
- ESCERTPAS.CBL がサーバー証明書を入力として受け取った際にサーバー証明書キー ファイルのパスフレーズを返すことを確認します。ESCERTPAS.CBL をコンパイルし、製品に付属しているバイナリと置き換える必要があります。
- CASSI1014W No CA root file provided to validate client certificates for TCPIPSERVICE <TCPIPSERVICE name>. Server certificate
is <server certificate>
- このメッセージは、TCPIPSERVICE の起動に失敗したことを意味するものではありません。単にクライアント認証を実行できないことを意味します (意図した動作である可能性もあります)。
- CASSI1015W TCPIPSERVICE <TCPIPSERVICE name> could not be started. Keyfile <server certificate key file> could not be found
- サーバー キー ファイルが、サーバー証明書の名前に _key を付加した名前 (ファイル拡張子は維持) であり、環境変数 ES_CERTIFICATES_LOCATION の値で参照されているディレクトリ内に存在することを確認します。
TCPIPSERVICE の起動に失敗した際に、上記のいずれのメッセージも受信されなかった場合は、TCPIPSERVICE で指定されているポートが使用中でないことを確認します。また、システム ディレクトリ内の log.html ファイルでエラーがないかどうか確認する必要もあります。
WEB OPEN エラー
WEB OPEN エラーが発生した場合は、次のチェックリストに従う必要があります。
- WEB OPEN のターゲットであるサーバー上の TCPIPSERVICE が開いていることを確認します。
- サーバー証明書の署名に使用された証明書を含む完全修飾 CA ルート ファイルをクライアント マシン上の ESCERTPAS が返すことを確認します。この場合、ESCERTPAS に対する入力証明書は、この WEB OPEN で使用されるクライアント証明書か、クライアント証明書が提供されていない場合は空白文字になります。
- ターゲットの TCPIPSERVICE でクライアント認証が必要な場合は、次の点を確認します。
- WEB OPEN でクライアント証明書が指定されているか (明示的に、または URIMAP が指定されている場合は URIMAP で)、ES_DFLT_CERTIFICATE_NAME_CLIENT が CICS クライアント マシン上のクライアント証明書の名前
(ファイル拡張子なし) に設定されている。
- CICS クライアント マシン上の ES_CERTIFICATES_LOCATION の値がクライアント証明書を含むディレクトリに設定されている。
- クライアント証明書の名前に _key を付加した名前のキー ファイルがあり、クライアント証明書と同じディレクトリ内に存在する。
- ESCERTPAS (CICS クライアント マシン上) が、クライアント証明書の名前を入力として受け取った際にクライアント証明書キー ファイルのパスフレーズを返す。
- ESCERTPAS (CICS サーバー マシン上) が、TCPIPSERVICE の起動時にこの WEB OPEN で使用されるクライアント証明書の署名に使用された証明書を含む完全修飾 CA ルート ファイルを返す。この場合、サーバー証明書は ESCERTPAS に対する入力となります。
問題がまだ存在する場合は、
log.html でその他のエラーを確認してください。
ブラウザー エラー
ほとんどのブラウザー エラーは、証明書の問題が原因です。
- サーバー証明書の署名に使用された CA ルート証明書がブラウザーにインストールされていることを確認します。
- ターゲットの TCPIPSERVICE でクライアント認証が必要な場合は、クライアント証明書がブラウザーにインストールされていることを確認します。
診断
CWI SSL の問題がさらに発生しており、上記のオプションでは解決できない場合は、いくつかの方法で、問題の理解に役立つ診断情報を収集できます。
- リージョンの起動時に TCPIPSERVICE を開くことができなかった場合、コンソール ログに警告メッセージが表示されます。
- 通信ログ (log.html) は、正しく動作していないと思われる機能があるかどうかを確認するのに役立ちます。
- CCI トレースを使用して、SSL トレースを収集できます。CCI.INI ファイルを作成し、MFCS プロセスの現在のディレクトリにコピーします。Windows では、通常は %WINDIR% であり、UNIX では、mfcs32 プロセスの PID を持つ /proc/pid/cwd を使用できます。
[ccitcp-base]
ssl_display_options_on=yes
ssl_display_cert_connection_details=yes
ssl_display_destination=c:\tmp\cci-ssl-info.txt
また、通常の CTF 構成ファイルとともに、CCI.INI を使用して、CCI の CTF トレースを有効にすることもできます。CCI.INI セクションは次のようになります。[ccitrace-base]
force_trace_on=yes
data_trace=no
protocol_trace=yes
internal_net_api=yes
CTF 構成ファイルには次が含まれます。mftrace.dest=binfile
mftrace.emitter.binfile#Location = path
mftrace.emitter.es#level = 99999
mftrace.level.mf.cci = info
最後に、CTF 構成ファイルをポイントするように MFTRACE 環境変数を設定します。
CCI トレースを使用した SSL トレースの収集は、CCI.INI ファイルに次を追加して行うこともできます。
[ccitcp-base]
# Display the negotiated cipher
ssl_display_cipher=yes
# Display details of the peer certificate (if any)
ssl_display_cert=yes
# Display why the certificate content failed its trust test.
ssl_display_cert_fail_report=yes
# Display all details available about the offered certificate.
ssl_display_cert_connection_details=yes
# Switch on or off the SSL options above
ssl_display_options_on=yes
# Where to save the certificate information
ssl_display_destination=/home/diags/tls.txt