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

【PHP8.x】CURLOPT_CERTINFO定数の使い方

CURLOPT_CERTINFO定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

CURLOPT_CERTINFO定数は、PHPのcURL拡張機能において、SSL/TLS接続時にサーバーから提供される証明書に関する詳細情報を取得するかどうかを表す定数です。この定数をTRUEに設定すると、cURLは接続先のウェブサーバーが提示するSSL/TLS証明書チェーンの情報を収集します。

具体的には、サーバー証明書の有効期限、発行者、サブジェクト名、公開鍵情報といったメタデータが対象となります。収集された証明書情報は、CURLOPT_VERBOSEオプションと組み合わせて標準エラー出力に詳細なログとして表示されるか、またはcurl_getinfo()関数を使ってCURLINFO_CERTINFOキーでプログラムから配列として取得できます。

CURLOPT_CERTINFOの大きな特徴は、SSL証明書の検証を行うCURLOPT_SSL_VERIFYPEERオプションの設定とは独立して動作する点です。つまり、証明書の検証が有効になっていない場合や、たとえ証明書自体が不正であったとしても、この定数をTRUEにすることで証明書情報を取得することが可能です。これにより、SSL/TLS接続の問題を診断したり、セキュリティ関連の分析を行ったりする際に、デバッグ情報として非常に役立ちます。システムエンジニアにとって、SSL/TLS通信の挙動を深く理解し、トラブルシューティングを行う上で重要なツールの一つとなります。

構文(syntax)

1<?php
2$ch = curl_init();
3curl_setopt($ch, CURLOPT_URL, "https://www.example.com");
4curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
5curl_setopt($ch, CURLOPT_CERTINFO, true);
6curl_exec($ch);
7$certificate_info = curl_getinfo($ch, CURLINFO_CERTINFO);
8curl_close($ch);
9?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ