CWI のクライアント側 SSL 認証の設定

クライアント側 SSL 環境用に環境を設定する場合も、CWI および CWI CICS API に関する知識が必要となります。
まず、「CWI のサーバー側 SSL 認証の設定」の説明に従って、サーバー認証用にサーバーを設定する必要があります。
  1. クライアント証明書を作成し、デモ CA を使用して署名します。 生成されたキー ファイルは、証明書の名前に文字 _key を付加した名前 (ファイル拡張子は維持) にする必要があることに注意してください。たとえば、証明書およびキー ファイルがそれぞれ clntcert.pem および clntkey.pem である場合は、clntkey.pemclntcert_key.pem という名前に変更する必要があります。
  2. 既存の TCPIPSERVICE を変更するか、新しく作成し、[Security] セクションで [SSL] を [Clientauth] に設定します。
  3. 環境変数 ES_DFLT_CERTIFICATE_NAME_CLIENT の値を、デフォルトとして使用するクライアント証明書のラベルに設定します。たとえば、クライアント証明書が clntcert.pem という名前の場合は、次のように環境変数を設定します。
    [ES-Environment]
    ES_DFLT_CERTIFICATE_NAME_CLIENT=clntcert
  4. 環境変数 ES_CERTIFICATES_LOCATION の値を、クライアント証明書の場所に設定します。
  5. サーバー マシン上の ESCERTPAS.CBL を変更して、サーバー証明書のキー ファイルのパスワード、および TCPIPSERVICE への接続を許可する必要があるすべてのクライアント証明書への署名に使用した証明書を含む CA ルート ファイルが返されるようにします。次に例を示します。
    when function upper-case(lk-certificate-name) = 'SRVCERT'      *> Server certificate 	            
        move 'srvrootpwd'	to lk-passphrase-returned              *> Password for srvcert_key.pem 
        move ‘C:\my\path\CARootcert.pem’ to lk-CARoot-to-be-used   *> CA root used to sign client certificates
    ESCERTPAS.CBL は、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\base\source (Windows) または $COBDIR/copylib (UNIX)、あるいはその両方にあります。
  6. クライアントがブラウザーの場合は、クライアント証明書およびプライベート キーを適切な形式に変換してブラウザーにインポートします。たとえば、PEM 証明書ファイルおよびプライベート キーを PKCS#12 に変換するには、次のようにします。
    openssl pkcs12 -export -out clntcert.pfx -inkey clntcert_key.pem -in clntcert.pem
  7. クライアントが CICS プログラムの場合は、クライアント マシン上の ESCERTPAS.CBL を変更して、クライアント キー ファイルのパスフレーズ、および完全修飾 CA ルート証明書ファイル (サーバー証明書への署名に使用した証明書を含む) が返されるようにします。次に例を示します。
    when function upper-case(lk-certificate-name) = 'CLNTCERT'              *> Client certificate
        move ‘myclientpwd’ to lk-passphrase-returned                        *> Password for clntcert_key.pem
        move ‘C:\my\path\CARootcert.pem’ to lk-CARoot-to-be-used            *> CA root used to sign server certificate
    
  8. サーバー リージョン (および CICS をクライアントとして使用する場合はクライアント リージョン) を起動します。
  9. ブラウザーから、次のように入力します。 https://<host>:<port number in TCPIPSERVICE>/my/ssl/path ホスト名はサーバー証明書の共通名と正確に一致する必要があることに注意してください。使用するクライアント証明書を選択するように求められます。
  10. クライアントが CICS プログラムの場合は、次のようにします。
    • WEB OPEN で次を指定する必要があります。
      • SCHEME(HTTPS)。
      • TCPIPSERVICE で指定したポート番号。
      • CERTIFICATE(WS-CERT)。WS-CERT は clntcert の値になります。証明書が指定されていない場合は、デフォルトのクライアント証明書が使用されます。使用する証明書を指定する URIMAP を WEB OPEN で指定することもできます。
    • WEB SEND で次を指定する必要があります。
      • PATH(WS-PATH)。WS-PATH は /my/ssl/path の値になります。