既存証明書の置き換え

既存証明書を置き換えて、環境のセキュリティーを強化できます。

重要: 以下の手順を実行して既存の証明書を置き換える前に、IBM Cloud Orchestrator サーバーのバックアップを取っておいてください。

この手順では、既知の認証局 (CA) から署名済みのサーバー証明書を受け取る必要があります。ブラウザーは、IBM® Cloud Orchestrator ユーザー・インターフェースをブラウズするときに、この証明書を検査します。初期状態では、IBM Cloud Orchestrator のインストール時にインストールされた自己署名証明書がありますが、この検証チェーンの末尾は既知の CA ではないため、ブラウザーの応答が証明書例外となります。ルート証明書も自己署名証明書ですが、サーバー証明書への署名に有効な CA が使用されていれば、CA は既知です。CA が署名済みサーバー証明書とともに配布するルート証明書および中間証明書は、署名者証明書 と呼ばれます。

証明書を調べるには、通常は Linux システムにインストールされる OpenSSL を使用します。
 openssl x509 -noout -text -in <fully_qualified_path_to_certificate>

セルフサービス・ユーザー・インターフェースは、中央の IBM HTTP Server によって提供されます。これがメインのエントリー・ポイントであるため、証明書を置き換えるには、CMS で暗号化された IBM HTTP Server 鍵データベースである key.kdb を含む /opt/ibm/ico/HTTPServer/bin ディレクトリーから開始します。

証明書の交換は複雑な処理であるため、ある程度の背景知識が必要です。エラーが発生した場合は、/opt/ibm/ico/HTTPServer/logs/error_log ファイルを参照してトラブルシューティングしてください。内容のリスト、証明書の削除、証明書要求の作成、署名者証明書の追加、および個人証明書の受信を行うには、ikeycmd または ikeyman の各ユーティリティーを使用します。ikeyman ユーザー・インターフェースを使用するには、実行中の X サーバーが必要です。どちらのユーティリティーでも、必要な操作に使用するオプションは同じです。ikeyman ユーティリティーがデフォルトで受け入れる証明書拡張子は arm ですが、証明書ファイルを表す他のすべての拡張子も使用できます。

注: IBM HTTP Server 向けの暗号プロバイダーを使用して構成された Java プログラムを使用してください。正しいプロバイダー構成の Java プログラムを確認するには、以下のコマンドを実行します。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -keydb -list
現在サポートされている鍵データベースの暗号化タイプが表示されます。以下に例を示します。
CMS
JKS
JCEKS
PKCS12
PKCS12S2
PKCS11Direct
少なくとも CMS タイプと PKCS12 タイプがリストされている必要があります。CMS がリストされていない場合、すべてのコマンドで /opt/ibm/ico/HTTPServer/bin/gskcmd プログラムを使用してください。
正しい Java 構成を確実に使用するには、以下のように完全修飾パスを使用して ikeycmd コマンドを呼び出す必要があります。
/opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd

鍵ストア・パスワードのディスカバー

IBM HTTP Server により使用される SSL 証明書は、証明書ストアと呼ばれるファイルに格納されています。このファイルはパスワードで保護されています。デフォルトでは、このパスワードは IBM Cloud Orchestrator のインストール時に設定されたマスターの管理者パスワードの値に設定されています。

IBM HTTP Server 鍵データベースの準備

IBM Cloud Orchestrator は、IBM Cloud Orchestrator サーバーの証明書を必要とします。 IBM HTTP Server 鍵データベースを準備するには、以下の手順を実行します。
  1. IBM Cloud Orchestrator サーバーにログインし、su コマンドを使用して root 特権を取得します。
  2. /opt/ibm/ico/HTTPServer/bin ディレクトリーに移動します。
  3. 既存の証明書ストアを、以下のコマンドでバックアップします。
    cp key.kdb key.kdb.bak
  4. 鍵ストア・パスワードが機能することを確認し、次のように証明書ストア内の証明書のリストを取得します。
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -list -db key.kdb -pw <password>
    出力には 2 つの証明書が表示されます。1 番目の証明書の名前は、IBM Cloud Orchestrator サーバーの仮想アドレスの完全修飾ドメイン名 (FQDN) です。この名前をメモしておきます。以下のステップで <ico_server_fqdn> を指定する場合に、この名前を入力する必要があるためです。2 番目の証明書の名前は、長い数値ラベルで始まり、その後に多数のパラメーターが続きます。これは、IBM HTTP Server が、セルフサービス・ユーザー・インターフェースに、ポート 7443 でトラフィックを転送するために使用する内部証明書です。この証明書を変更および削除してはいけません。
  5. 以下のコマンドを実行して、既存の SSL 証明書を削除します。
    
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -delete -label <ico_server_fqdn> ¥
             -db key.kdb -pw <password>
  6. IBM Cloud Orchestrator サーバーのセキュリティー証明書をまだ保持していない場合は、以下の手順を実行します。
    1. 以下のコマンドを実行して、証明書要求を作成します。
      /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -certreq -create -label <ico_server_fqdn> ¥
               -dn "CN=<fqdn>,O=<your organization>,OU=<your division>,C=<your country code>" ¥
               -db key.kdb -file certreq_ico.arm -pw <password> -size 2048 -sig_alg SHA256WithRSA  
      
    2. 現行ディレクトリーで certreq_ico.arm ファイルを特定し、署名を受けるために認証局 (CA) にアップロードします。

新しい証明書のインストール

新しい証明書をインストールするには、以下の手順を実行します。
  1. IBM HTTP Server 鍵データベースの準備の手順のステップ 6 を実行して証明書要求を生成した場合は、CA から署名済み証明書が返されたら、それを cert_ico.arm としてダウンロードします。ルート CA 証明書と中間 CA 証明書もダウンロードします。必要なルート CA 証明書と中間 CA 証明書について詳しくは、認証局のオンライン・ヘルプを参照してください。
  2. 以下のコマンドを証明書ごとに実行して、ルート CA 証明書と中間 CA 証明書をインポートします。
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -add -db key.kdb ¥
              -pw <password> -file <downloaded_root_or_intermediate_certificate>
    注: ルート CA 証明書と中間 CA 証明書は自己署名証明書であり、完全依存チェーン内の署名済み証明書をブラウザーが CA に対して検証できるように、鍵データベースに保管する必要があります。ikeyman ユーザー・インターフェースを使用している場合は、署名済み証明書のカテゴリーを選択します。
  3. 以下のいずれかのアクションを実行します。
    • IBM HTTP Server 鍵データベースの準備の手順のステップ 6 を実行して証明書要求を生成した場合は、以下のコマンドを実行して、新規 SSL 証明書を追加します。
      /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -receive ¥
                -db key.kdb -pw <password> -file cert_ico.arm
      
      注: 要求したすべての証明書は個人証明書であるため、ikeyman ユーザー・インターフェースを使用している場合は、これらの証明書を個人証明書カテゴリーに分類する必要があります。これらの証明書は、一致する要求が key.kdb 内にある場合にのみ受信できます。要求をリストするには、以下のコマンドを使用します。
      /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -certreq -list -db key.kdb -pw <password>
      各別名について要求を 1 つだけ生成するようにしてください。
    • IBM Cloud Orchestrator サーバーのセキュリティー証明書が既に存在する場合は、以下のコマンドを実行して、これを鍵データベースに追加します。
      /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -import -target key.kdb ¥
                -pw <password> -file <ico_server_certificate_file>
  4. 以下のコマンドを実行して、証明書が証明書ストアに追加されたか確認します。
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -list -db key.kdb -pw <password>
  5. 以下のコマンドを実行して、IBM Cloud Orchestrator サーバーの証明書をデフォルトの証明書にします。
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -setdefault ¥
              -db key.kdb -pw <password> -label <ico_server_fqdn>
  6. 以下のコマンドを実行してデフォルトの証明書を確認し、証明書の有効期限についてのリマインダーをカレンダーに追加します。
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -getdefault -db key.kdb -pw <password>
  7. インポートした IBM Cloud Orchestrator サーバーの個人証明書の検証パスをテストするには、以下のコマンドを実行します。
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -validate ¥
              -db key.kdb -pw <password> -label <ico_server_fqdn>
    注: 検証が正常に行われない場合は、証明書チェーンが破損しています。問題を解決するまで、以降の手順に進まないでください。ikeyman ユーザー・インターフェースを使用して検証をテストすることもできます。
  8. 以下のコマンドを実行することにより、IHS サービスを再始動します。
    systemctl restart ihs

2 次IBM Cloud Orchestrator サーバー上の証明書の更新

IBM Cloud Orchestrator の高可用性環境の場合のみ、以下の追加手順を実行します。
  1. 2 次 IBM Cloud Orchestrator サーバーにログインし、su コマンドを使用して root 権限を取得します。
  2. /opt/ibm/ico/HTTPServer/bin/ ディレクトリーに移動します。
  3. 以下を実行して、既存の証明書ストアのバックアップを作成します。

    cp key.kdb key.kdb.bak.

  4. 以下のコマンドを実行して、証明書ストアを 1 次ノードから 2 次ノードにコピーします。

    scp <ico_primary_node_hostname>:/opt/ibm/ico/HTTPServer/bin/key.kdb

WebSphere トラストストアおよび鍵ストアの更新

WebSphere トラストストアおよび鍵ストア内の証明書を更新して、WebSphere が IBM HTTP Server への SSL 接続を確立できるようにする必要があります。
注: WebSphere® Application Server の証明書置換の途中で問題が発生した場合は、WebSphere 管理セキュリティーを一時的に無効にすることができます。詳しくは、http://www.ibm.com/support/docview.wss?uid=swg21405302を参照してください。
以下の手順を実行します。
  1. WebSphere コンソールにログオンします。ブラウザーを使用して https://<ico_server_fqdn>:9043/ibm/console にアクセスします。

    ユーザー ID は bpm_admin、パスワードは IBM Cloud Orchestrator をインストールしたときに指定したマスター・パスワードです。

  2. 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの署名者情報を取得します。
    1. 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
    2. 「構成設定」で、「エンドポイント・セキュリティー構成の管理」をクリックします。
    3. 適切なアウトバウンド構成を選択して、(cell):PCCell1 管理スコープに移動します。
    4. 「関連項目」で、「鍵ストアと証明書」をクリックし、「CellDefaultTrustStore」鍵ストアをクリックします。
    5. 「追加プロパティー」で、「署名者証明書」「ポートから取得」をクリックします。
    6. 「ホスト」フィールドに <ico_server_fqdn> と入力し、「ポート」フィールドに「443」と入力し、「別名」フィールドに「CA root chain certificate」と入力します。
    7. 「署名者情報の取得」をクリックします。
    8. 証明書情報が信頼できる証明書のものであることを確認します。
    9. 「OK」をクリックします。
  3. 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの SSL 証明書を置き換えます。
    1. 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
    2. 「鍵ストアと証明書」を選択します。
    3. ドロップダウン・リストでは、デフォルトの「SSL 鍵ストア」を保持します。
    4. 「CellDefaultTrustStore」 をクリックしてから「個人証明書」をクリックします。
    5. 前に要求した証明書の IBM Cloud Orchestrator サーバー FQDN に「別名」が一致する項目を選択し、「削除」を押します。
    6. 「インポート」をクリックします。
    7. 「鍵ストア・ファイル」を選択し、鍵ファイル名として /opt/ibm/ico/HTTPServer/bin/key.kdb と入力します。
    8. 「タイプ」「CMSKS」に変更します。
    9. 鍵ストア・パスワードを入力します。
    10. 「鍵ストア別名の取得」をクリックします。
    11. ドロップダウン・リストから、IBM Cloud Orchestrator サーバーの FQDN と一致する証明書を選択します。
    12. 「インポートされた証明書別名」フィールドに、 <ico_server_fqdn> と入力します。
    13. 「OK」をクリックします。
    14. 変更をマスター構成に直接「保存」します。
  4. WebSphere 環境内のすべての既存のトラストストアのために、ステップ 2 とステップ 3 を繰り返します。
  5. 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの署名者情報を取得します。
    1. 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
    2. 「鍵ストアと証明書」をクリックします。
    3. ドロップダウン・リストでは、デフォルトの「SSL 鍵ストア」を保持します。
    4. 「CellDefaultKeyStore」をクリックしてから「署名者証明書」をクリックします。
    5. 「ポートから取得」をクリックします。
    6. 「ホスト」<ico_server_fqdn>「ポート」「443」「別名」「root ca-chain」と入力して、「署名者情報の取得」をクリックします。
    7. 表示された情報が、サーバー証明書に署名した CA と一致することを確認します。
    8. 「OK」をクリックします。
  6. 以下の手順を実行して、WebSphere セルのデフォルト鍵ストアの SSL 証明書を置き換えます。
    1. 「セキュリティー」>「SSL 証明書および鍵管理」にナビゲートします。
    2. 「鍵ストアと証明書」をクリックします。
    3. ドロップダウン・リストでは、デフォルトの「SSL 鍵ストア」を保持します。
    4. 「CellDefaultKeyStore」 をクリックしてから「個人証明書」をクリックします。
    5. 前に要求した証明書の IBM Cloud Orchestrator サーバー FQDN に「別名」が一致する項目を選択し、「削除」を押します。
    6. 「インポート」をクリックします。
    7. 「鍵ストア・ファイル」を選択し、鍵ファイル名として /opt/ibm/ico/HTTPServer/bin/key.kdb と入力します。
    8. 「タイプ」「CMSKS」に変更します。
    9. 鍵ストア・パスワードを入力します。
    10. 「鍵ストア別名の取得」をクリックします。
    11. ドロップダウン・リストから、IBM Cloud Orchestrator サーバーの FQDN と一致する証明書を選択します。
    12. 「インポートされた証明書別名」フィールドに、 <ico_server_fqdn> と入力します。
    13. 「OK」をクリックします。
    14. 変更をマスター構成に直接「保存」します。
  7. WebSphere 環境内のすべての既存の鍵ストアのために、ステップ 5 とステップ 6 を繰り返します。
  8. 以下のコマンドを実行して、新しい証明書を plugin-key.kdb 鍵データベースに追加します。
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -import -target ¥
      /opt/ibm/ico/WebSphere/Plugins/config/ /plugin-key.kdb -target_pw WebAS ¥
      -db /opt/ibm/ico/HTTPServer/bin/key.kdb -pw -type cms
    
    /opt/ibm/ico/HTTPServer/java/jre/bin/ikeycmd -cert -setdefault -label ¥
      -db /opt/ibm/ico/WebSphere/Plugins/config/ /plugin-key.kdb -pw WebAS
    WebAS は、plugin-key.kdb 鍵データベースのデフォルト・パスワードです。
  9. IBM Cloud Orchestrator の開始または停止の手順に従って、IBM Cloud Orchestrator サービスを再始動します。

IBM Business Process Manager での Process Designer のインストールと更新

上記の手順を実行すると、Process Designer インストール・ファイルのパッケージ化に使用される署名済み証明書、ルート証明書、および中間証明書を使用して、鍵ストアが更新されます。

証明書を更新したら、Process Designer のインストール・パッケージをダウンロードします。Process Designer をインストールしたら、『Secure Socket Layer (SSL) を使用して Process Center にアクセスするように Process Designer を構成します』に記載された手順を実行します。