totten / ca-config
证书授权机构的默认配置
v23.07.0
2023-07-14 07:20 UTC
Requires
- php: >=5.2
README
CA_Config 是一个用于确定PHP的HTTP/SSL客户端使用的默认证书授权配置的PHP小型库。
示例
<?php // For CURL $caConfig = CA_Config_Curl::singleton(); if ($caConfig->isEnableSSL()) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, ); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt_array($ch, $caConfig->toCurlOptions()); $response = curl_exec($ch); } else { printf("This system does not support SSL."); } // For PHP Streams $caConfig = CA_Config_Stream::singleton(); if ($caConfig->isEnableSSL()) { $context = stream_context_create(array( 'ssl' => $caConfig->toStreamOptions(), )); $data = file_get_contents('https://example.com/', 0, $context); } else { printf("This system does not support SSL."); }
辅助工具
在请求实例时,可以使用 singleton() 或 probe()。singleton() 适用于没有服务容器的简单应用。singleton() 只是 probe() 的包装,它从全局变量中读取额外的配置选项,并返回单个实例。
测试
此库未在广泛的配置中进行测试,根本问题是不同PHP环境中的CA配置没有很好地标准化。要确定此库在您的环境中是否产生有效的配置,请运行 phpunit 测试套件。
如果您遇到问题,请随时提交补丁或报告问题。