MITM 攻撃からリクエストを保護する場合、サーバーはクライアントに対して ID を証明する必要があります。ブラウザからサイト A への接続を安全にする場合、サイト A はその ID をブラウザに証明する必要があります。また、サイト A とサイト B の間の接続が安全である必要がある場合、サイト B は、サイト A で実行されている PHP スクリプトに対してその ID を証明する必要があります (どちらもかなり独立しています)。
HTTPS 接続で ID を証明することは、証明書の役割です。
ブラウザとサイト A の間の通信をセキュリティで保護したい場合は、サイト A のよく知られた CA (1 つのユーザーが直接使用する)が必要になります。
サイト B に接続しているクライアントの数が限られている場合 (たとえば、サイト A のみ)、これらすべての関係者を管理している場合は、サイト B で独自の CA を作成 (または自己署名証明書を使用) し、それを明示的にインポートできます。サイト A で実行されている PHP コードの信頼できる証明書として (PHP で Curl を使用して接続する場合は、 で設定できますCURLOPT_CAINFO
)。
サイト B を、手動で証明書を渡すのが難しいサード パーティに使用してもらいたい場合は、よく知られている CA から証明書を取得する必要もあります。(また、より便利になる可能性があります。)
サイト A がサイト B に接続するときにサイト A を認証することを検討する必要があるかもしれません。これは、盗聴や MITM 攻撃を防止するだけでなく、サイト B が適切な関係者に情報を提供することを確認するためです。サイト B でさまざまな認証/承認手法を使用してこれを行うことができます。これには、サイト A のクライアント証明書を使用できますが、サイト A の証明書を使用しないことをお勧めします (ただし、この目的のために作成する別のクライアント証明書は、おそらくこれは、PHP スクリプトがそれとその秘密鍵への読み取りアクセス権を持っている必要があるためです (通常、スクリプトが侵害された場合に備えて、それを防止することをお勧めします)。コンテキストによっては、他の認証手法の方が適切な場合もあります。