Private Cloud の TLS 証明書を更新する

証明書の更新方法は、仮想ホストまたはターゲット エンドポイント / ターゲット サーバーのキーストアとトラストストアの名前を指定する方法によって決まります。キーストアとトラストストアの名前は次の方法で指定できます。

  • 参照 - 推奨
  • 直接指定
  • フロー変数

どの方法で指定するかによって、次の表のように証明書の更新プロセスが変わります。

構成タイプ 証明書を更新または置換する方法 仮想ホスト、ターゲット エンドポイント / ターゲット サーバーの更新方法
参照(推奨) キーストアの場合は、新しいキーストアを新しい名前で作成し、エイリアスを古いエイリアスと同じ名前で作成します。

トラストストアの場合は、トラストストアを新しい名前で作成します。

キーストアまたはトラストストアの参照を更新します。

Router または Message Processor の再起動は必要ありません。

フロー変数(ターゲット エンドポイントのみ) キーストアの場合は、新しいキーストアを新しい名前で作成し、エイリアスを同じ名前または新しい名前で作成します。

トラストストアの場合は、トラストストアを新しい名前で作成します。

新しいキーストア、エイリアス、トラストストアの名前を使用して、リクエストごとに更新されたフロー変数を渡します。

Router または Message Processor の再起動は必要ありません。

直接 新しいキーストア、エイリアス、トラストストアを作成します。 仮想ホストを更新し、Router を再起動します。

トラストストアがターゲット エンドポイント / ターゲット サーバーによって使用されている場合は、プロキシを再デプロイします。

直接 キーストア、トラストストアを削除し、同じ名前で再作成します。 仮想ホストの更新は必要なく、Router の再起動は必要ありません。ただし、新しいキーストアとエイリアスが設定されるまで、API リクエストは失敗します。

キーストアが Edge とバックエンド サービス間の双方向 TLS に使用されている場合は、Message Processor を再起動します。

直接 トラストストアの場合のみ、新しい証明書をトラストストアにアップロードします。 トラストストアが仮想ホストによって使用されている場合は、Router を再起動します。

トラストストアがターゲット エンドポイント / ターゲット サーバーによって使用されている場合は、Message Processor を再起動します。

更新前と更新後の証明書のテスト

次の openssl コマンドを使用して、現在の証明書を更新する前にテストを行います。

echo | openssl s_client -servername hostAlias -connect hostAlias.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject
    

hostAlias は、仮想ホストのホスト エイリアスまたは IP アドレスです。次に例を示します。

echo | openssl s_client -servername api.myCompany.com -connect api.myCompany.com:443 2>/dev/null | openssl x509 -noout -dates -subject
    

出力は次のようになります。

    notBefore=Dec 30 22:11:38 2015 GMT
    notAfter=Dec 30 22:11:38 2016 GMT
    subject= /OU=Domain Control Validated/CN=*.apigee.net
    

証明書を更新したら、同じコマンドでテストを行います。

キーストア内の TLS 証明書の更新

オンプレミス デプロイの Edge の場合、次の操作を行います。

  1. キーストアとトラストストアの説明に沿って、新しいキーストアを作成して、証明書とキーをアップロードします。新しいキーストアでは、既存のキーストアで使用していたキーエイリアスと同じものを使用してください。

    : 現在のキーストアを削除すると、同じ名前とエイリアスで新しいキーストアを作成できます。Router の再起動は必要ありません。ただし、新しいキーストアとエイリアスが設定されるまで、API リクエストは失敗します。
  2. 受信接続(Edge への API リクエスト)で使用されている仮想ホストの場合は、次の操作を行います。
    1. 仮想ホストでキーストアを参照している場合は、参照の操作の説明に沿って参照を更新します。
    2. 仮想ホストでキーストアの名前を直接使用している場合は、次の操作を行います。
      1. 古いキーストアとキーエイリアスを参照している仮想ホストを更新し、新しいキーストアとキーエリアスを参照するように設定します。
      2. Router を 1 つずつ再起動します。古いキーストアを削除して同じ名前で新しいキーストアを作成した場合、Router の再起動は不要です。

        プロキシの再デプロイは必要ありません。
  3. 送信接続(バックエンド サーバーへの接続)で使用されているターゲット エンドポイント / ターゲット サーバーの場合、次の操作を行います。
    1. ターゲット エンドポイント / ターゲット サーバーでキーストアを参照している場合は、参照の操作の説明に沿って参照を更新します。プロキシの再デプロイは必要ありません。
    2. ターゲット エンドポイント / ターゲット サーバーがフロー変数を使用している場合は、フロー変数を更新します。プロキシの再デプロイは必要ありません。
    3. ターゲット エンドポイント / ターゲット サーバーでキーストアの名前を直接使用している場合は、次の操作を行います。
      1. 古いキーストアとキーエイリアスを参照している API プロキシのターゲット エンドポイント / ターゲット サーバーの構成を更新し、新しいキーストアとキーエイリアスを参照するように設定します。
      2. API プロキシが TargetEndpoint の定義からキーストアを参照している場合は、プロキシの再デプロイが必要です。

        TargetEndpoint が TargetServer 定義を参照し、TargetServer 定義がキーストアを参照する場合、プロキシの再デプロイは必要ありません。
      3. キーストアが Edge とバックエンド サービス間の双方向 TLS に使用され、同じ名前のキーストアを削除して再作成している場合は、Edge Message Processor の再起動が必要です。
  4. 新しいキーストアが正常に動作していることを確認したら、上記のように、期限切れの証明書とキーを持つ古いキーストアを削除します。

トラストストア内の TLS 証明書の更新

トラストストアの参照を使用している場合、トラストストア内の証明書を更新するプロセスは、上記のキーストアの場合と同様です。ただし、次の違いがあります。

  • 新しい証明書を新しいトラストストアにアップロードするときに、トラストストアのエイリアス名は重要ではありません。
  • 証明書がチェーンの一部である場合は、すべての証明書を含む 1 つのファイルを作成し、そのファイルを 1 つのエイリアスにアップロードするか、証明書ごとに異なるエイリアスを使用してトラストストアにすべての証明書をチェーン別にアップロードする必要があります。

キーストアとトラストストアの名前を直接使用している場合は、次の操作を行います。

  1. キーストアとトラストストアの説明に従って、新しい証明書をトラストストアにアップロードします。古い証明書を削除する必要はありません。
  2. 受信接続(Edge への API リクエスト)で使用されている仮想ホストの場合は、Router を 1 つずつ再起動します。
  3. 送信接続(バックエンド サーバーへの接続)で使用されているターゲット エンドポイント / ターゲット サーバーの場合、Edge Message Processor を 1 つずつ再起動します。
  4. 新しいトラストストアが正常に機能していることを確認します。