【PHP8.x】CURLOPT_PROXY_PINNEDPUBLICKEY定数の使い方
CURLOPT_PROXY_PINNEDPUBLICKEY定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
CURLOPT_PROXY_PINNEDPUBLICKEY定数は、PHPのcURL拡張機能において、プロキシサーバーを介した通信のセキュリティを強化するための設定を表す定数です。この定数を使用することで、プロキシサーバーとのSSL/TLS通信を行う際に、接続先のプロキシサーバーが信頼できる正規のものであるかを検証する「公開鍵ピンニング」というセキュリティメカニズムを有効にできます。
具体的には、通信を行う前に、アクセスしたいプロキシサーバーのSSL/TLS証明書から抽出した公開鍵のハッシュ値などの情報を、このオプションの引数としてcurl_setopt()関数に設定します。cURLは通信開始時に、実際にプロキシサーバーから提示された証明書の公開鍵が、事前に設定した情報と一致するかどうかを確認します。もし一致しない場合は、接続を拒否し、通信が中断されます。
これにより、悪意のある第三者が正規のプロキシサーバーになりすまして通信を傍受しようとする「中間者攻撃」などの脅威から、通信の安全性を保護することが可能になります。このオプションの引数には、公開鍵のSHA256ハッシュ値や、DER形式の証明書ファイルを指定することができます。システム開発において、プロキシ経由で重要なデータをやり取りする際には、この定数を用いてセキュリティを一層強化することが推奨されます。
構文(syntax)
1<?php 2$ch = curl_init(); 3curl_setopt($ch, CURLOPT_PROXY_PINNEDPUBLICKEY, 'sha256//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='); 4?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
この定数は、プロキシサーバーの証明書検証に使用する公開鍵のピンニング情報を指定するために使用され、整数値を返します。