証明書を更新する方法は、仮想ホストまたはターゲット エンドポイント / ターゲット サーバーでキーストアとトラストストアの名前がどのように指定されているかによって異なります。キーストアとトラストストアの名前は次の方法で指定できます。
- 参照 - 推奨
- 直接指定
- フロー変数
どの方法が使用されているかによって、証明書の更新プロセスは次の表のように変わります。
構成タイプ | 証明書を更新または置換する方法 | 仮想ホスト、ターゲット エンドポイント / ターゲット サーバーの更新方法 |
---|---|---|
参照(推奨) |
キーストアについては、新しいキーストアを新しい名前で作成し、エイリアスを古いエイリアスと同じ名前にします。
トラストストアについては、トラストストアを新しい名前で作成します。 |
キーストアまたはトラストストアの参照を更新します。
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 のオンプレミス デプロイの場合、次の手順に従います。
- キーストアとトラストストアの説明に従って新しいキーストアを作成し、証明書と鍵をアップロードします。新しいキーストアでは、キーエイリアスの名前を既存のキーストアで使用していたものと同じ名前にしてください。
注: 現在のキーストアを削除し、同じ名前とエイリアスで新しいキーストアを作成できます。Router の再起動は必要ありません。ただし、新しいキーストアとエイリアスが設定されるまで、API リクエストは失敗します。 -
インバウンド接続(Edge への API リクエスト)で使用される仮想ホストの場合:
- 仮想ホストでキーストアへの参照を使用している場合は、参照の使用の説明に従って参照を更新します。
- 仮想ホストでキーストアの名前を直接使用している場合は、次の手順に従います。
- 古いキーストアとキーエイリアスを参照している仮想ホストを更新し、新しいキーストアとキーエイリアスを参照するように設定します。
- Router を 1 つずつ再起動します。古いキーストアを削除して同じ名前で新しいキーストアを作成した場合、Router の再起動は不要です。
プロキシの再デプロイは必要ありません。
-
アウトバウンド接続(Apigee からバックエンド サーバーへの接続)で使用されるターゲット エンドポイント / ターゲット サーバーの場合:
- ターゲット エンドポイント / ターゲット サーバーでキーストアへの参照を使用している場合は、参照の使用の説明に従って参照を更新します。プロキシの再デプロイは必要ありません。
- ターゲット エンドポイント / ターゲット サーバーでフロー変数を使用している場合は、フロー変数を更新します。プロキシの再デプロイは必要ありません。
- ターゲット エンドポイント / ターゲット サーバーでキーストアの名前を直接使用している場合は、次の手順に従います。
- 古いキーストアとキーエイリアスを参照している API プロキシのターゲット エンドポイント / ターゲット サーバーの構成を更新し、新しいキーストアとキーエイリアスを参照するように設定します。
- TargetEndpoint の定義でキーストアを参照している API プロキシについては、プロキシの再デプロイが必要です。
TargetEndpoint が TargetServer の定義を参照し、TargetServer の定義からキーストアを参照している場合、プロキシの再デプロイは必要ありません。 - キーストアが Edge とバックエンド サービス間の双方向 TLS に使用されている場合に、キーストアを削除して同じ名前で再作成したときは、Edge Message Processor の再起動が必要です。
- 新しいキーストアが正常に機能していることを確認したら、上記のように、期限切れの証明書と鍵を含む古いキーストアを削除します。
トラストストア内の TLS 証明書の更新
トラストストアへの参照を使用している場合、トラストストア内の証明書を更新するプロセスは、上記のキーストアの場合とほぼ同じです。ただし、次の点が異なります。
- 新しい証明書を新しいトラストストアにアップロードするときに、トラストストアのエイリアス名は重要ではありません。
- 証明書がチェーンの一部である場合は、すべての証明書を含む 1 つのファイルを作成してそのファイルを 1 つのエイリアスにアップロードするか、チェーン内のすべての証明書をトラストストアに個別にアップロードして証明書ごとに異なるエイリアスを使用する必要があります。
キーストアとトラストストアの名前を直接使用している場合は、次の手順に従います。
- キーストアとトラストストアの説明に従って、新しい証明書をトラストストアにアップロードします。古い証明書を削除する必要はありません。
- インバウンド接続(Edge への API リクエスト)で使用される仮想ホストの場合は、Router を 1 つずつ再起動します。
- アウトバウンド接続(Apigee からバックエンド サーバーへの接続)で使用されるターゲット エンドポイント / ターゲット サーバーの場合は、Edge Message Processor を 1 つずつ再起動します。
- 新しいトラストストアが正常に機能していることを確認します。