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

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

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

作成日: 更新日:

基本的な使い方

CURLOPT_PROXY_CAINFO_BLOB定数は、PHPのcURL拡張機能において、プロキシサーバーを介した接続を行う際に使用するCA(認証局)の証明書情報をBLOB(バイナリデータ)形式で直接指定するための定数です。cURLはウェブサイトへの接続やデータの送受信を行う際に広く利用されるライブラリであり、この定数は特に、通信を中継するプロキシサーバーとのSSL/TLS通信のセキュリティを確保するために用いられます。

通常、安全なSSL/TLS通信を確立するためには、接続先のサーバーが提示する証明書が信頼できるものであるかを検証する必要があります。この検証には、信頼できる認証局の証明書(CA証明書)が利用されます。CURLOPT_PROXY_CAINFO_BLOB定数は、プロキシサーバーに対するCA証明書を、ファイルパスとして指定する代わりに、プログラム内で生成または取得したバイナリデータとしてメモリ上から直接提供することを可能にします。

この機能は、証明書ファイルをディスク上に保存することなく、動的に証明書データを管理したい場合や、一時的な証明書を利用するような高度なセキュリティ要件を持つ環境で特に有用です。開発者は、curl_setopt()関数にこの定数を指定し、その値としてCA証明書のバイナリ文字列を渡すことで、プロキシ接続の信頼性を柔軟に制御できます。この定数はPHP 8.2.0以降で利用可能です。

構文(syntax)

1<?php
2
3$ch = curl_init();
4$caInfoBlob = "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n"; // ここにCA証明書の文字列を格納
5
6curl_setopt($ch, CURLOPT_URL, 'https://example.com');
7curl_setopt($ch, CURLOPT_PROXY, 'http://proxy.example.com:8080');
8curl_setopt($ch, CURLOPT_PROXY_CAINFO_BLOB, $caInfoBlob);
9
10$response = curl_exec($ch);
11
12if (curl_errno($ch)) {
13    echo 'Error:' . curl_error($ch);
14}
15
16curl_close($ch);
17
18?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ