【PHP8.x】CURLE_SSL_PINNEDPUBKEYNOTMATCH定数の使い方
CURLE_SSL_PINNEDPUBKEYNOTMATCH定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
CURLE_SSL_PINNEDPUBKEYNOTMATCH定数は、PHPのcURL拡張機能において、SSL/TLS通信中に発生する特定のエラーを表す定数です。この定数は、通信相手のサーバーの公開鍵(Public Key)のピンニング(Pinning)が失敗した際に返されるエラーコードの一つとなります。
公開鍵ピンニングとは、セキュアな通信を行う際に、特定のサーバーが提示する公開鍵、またはその公開鍵のハッシュ値が、あらかじめクライアント側(アプリケーション側)に設定された「正しい」とされている情報と一致するかどうかを検証するセキュリティ機能です。これにより、悪意のある第三者が正規のサーバーになりすまして通信を傍受する「中間者攻撃(Man-in-the-Middle attack)」を防ぐことができます。
CURLE_SSL_PINNEDPUBKEYNOTMATCH定数が示すのは、cURLが通信相手のサーバーから受け取った公開鍵の情報が、事前にCURLOPT_PINNEDPUBLICKEYオプションなどで設定されたピン留めされた公開鍵の情報と一致しなかった状況です。このエラーが発生した場合、通信の信頼性が確保できないため、cURLは安全のために通信を中断します。開発者は、curl_errno()関数やcurl_error()関数を使用してこのエラーコードを検出し、適切なエラーハンドリングを行うことで、アプリケーションのセキュリティを向上させることができます。この定数は、SSL/TLS通信のセキュリティ検証において非常に重要な役割を果たします。
構文(syntax)
1<?php 2echo CURLE_SSL_PINNEDPUBKEYNOTMATCH; 3?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
この定数は、SSL証明書の公開鍵が期待されるものと一致しない場合に返される整数値です。