トラストストアでクライアント証明書を検証する

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

このドキュメントでは、Apigee Edge Router に正しいクライアント証明書がアップロードされていることを確認する方法について説明します。証明書を検証するプロセスは OpenSSL に依存します。OpenSSL は、Apigee Edge Router で NGINX が使用する基盤となるメカニズムです。

API リクエストの一部としてクライアント アプリケーションから送信された証明書と、Apigee Edge Router に保存されている証明書が一致しないと、 400 Bad Request - SSL 証明書エラーが発生します。このドキュメントで説明するプロセスを使用して証明書を検証すると、これらの問題をプロアクティブに検出し、実行時に証明書エラーを防ぐことができます。

始める前に

このドキュメントの手順を行う前に、次のトピックを理解しておいてください。

  • OpenSSL ライブラリを使い慣れていない方は、OpenSSL をご確認ください。
  • このガイドのコマンドラインの例を使用する場合は、OpenSSL クライアントの最新バージョンをインストールするか、最新バージョンに更新してください。
  • 証明書が PEM 形式であることを確認し、そうでない場合は、 証明書を PEM 形式に変換します。

Apigee Router のトラストストアでクライアント証明書を検証する

このセクションでは、クライアント証明書が Apigee Edge Router のトラストストアに保存されている証明書と同一であることを確認するための手順について説明します。

  1. いずれかの Router マシンにログインします。
  2. /opt/nginx/conf.d フォルダに移動します。このフォルダには、Apigee Edge Router のトラストストアに証明書が保存されています。
  3. クライアント証明書を検証するトラストストアを特定します。トラストストア名は次の形式になります。
    org-env-virtualhost-client.pem
    

    各要素の意味は次のとおりです。

    • org は Apigee 組織名です。
    • env は Apigee 環境名です。
    • virtualhost は Apigee 仮想ホスト名です。
    • たとえば、以下を検証します。

      • 組織: myorg
      • 環境: test
      • 仮想ホスト: secure

      トラストストア名は myorg-test-secure-client.pem です。

  4. scpsftp などのユーティリティを使用して、ローカルマシンから、検証する実際のクライアント証明書を Router の /tmp ディレクトリに転送します。

    たとえば、次のように scp コマンドを使用します。

    scp client_cert.pem router-host:/tmp
    

    ここで、router-host は Router マシンの名前です。

  5. 次のように OpenSSL を使用してクライアント証明書を確認します。
    openssl verify -trusted org-env-virtualhost-client.pem /tmp/client-cert.pem
    

    各要素の意味は次のとおりです。

    • org は Apigee 組織名です。
    • env は Apigee 環境名です。
    • virtualhost は Apigee 仮想ホスト名です。
  6. 上記のコマンドで返されたエラーを修正します。

    Apigee Edge Router のトラストストアに正しい証明書が含まれていない場合は、トラストストアに証明書をアップロードする API を使用して、正しい PEM 形式の証明書を削除してトラストストアにアップロードします。