【PHP8.x】CURLOPT_SSL_VERIFYSTATUS定数の使い方
CURLOPT_SSL_VERIFYSTATUS定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
CURLOPT_SSL_VERIFYSTATUS定数は、PHPのcURL拡張機能において、SSL/TLS接続時にOCSPステープリングによる証明書ステータスの検証を有効にするかどうかを設定するための定数です。
cURLライブラリを用いてHTTPSなどのセキュアな通信を行う際、接続先のサーバーが提示するSSL/TLS証明書が信頼できるものであるかを確認することは、通信の安全性を保つ上で極めて重要です。この定数をtrueに設定することで、cURLは、サーバーから提供されるOCSP (Online Certificate Status Protocol) ステープリング情報を使用して、その証明書が失効していないかを検証しようと試みます。
OCSPステープリングは、証明書発行局(CA)へ直接問い合わせることなく、サーバー自身が最新の証明書ステータス情報を事前に取得し、TLSハンドシェイク時にクライアントに提示する仕組みです。これにより、証明書失効リスト(CRL)のダウンロードやOCSPサーバーへのリアルタイムな問い合わせといった処理を省き、TLSハンドシェイクの効率を高めつつ、証明書の有効性を迅速に確認できます。
この定数は、curl_setopt()関数に渡して使用します。例えば、curl_setopt($ch, CURLOPT_SSL_VERIFYSTATUS, true);のように設定することで、OCSPステータス検証を有効にできます。
セキュリティ要件の高いシステムにおいて、このオプションを有効にすることは、中間者攻撃などに対する保護を強化し、より安全な通信を実現するために推奨されます。ただし、接続先のサーバーがOCSPステープリング情報を提供しない場合や、その情報が正しくない場合には、検証エラーとなり接続が確立できない可能性がある点にご留意ください。
構文(syntax)
1<?php 2$ch = curl_init(); 3curl_setopt($ch, CURLOPT_SSL_VERIFYSTATUS, true); 4curl_close($ch); 5?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません