Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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)

戻り値なし

戻り値はありません

関連コンテンツ