composer / ca-bundle
帮助您找到系统CA证书库的路径,并包含对Mozilla CA证书库的回退。
1.5.1
2024-07-08 15:28 UTC
Requires
- php: ^7.2 || ^8.0
- ext-openssl: *
- ext-pcre: *
Requires (Dev)
- phpstan/phpstan: ^1.10
- psr/log: ^1.0 || ^2.0 || ^3.0
- symfony/phpunit-bridge: ^4.2 || ^5
- symfony/process: ^4.0 || ^5.0 || ^6.0 || ^7.0
This package is auto-updated.
Last update: 2024-08-23 14:36:44 UTC
README
这是一个小型的实用程序库,让您找到系统CA证书库的路径,并包含对Mozilla CA证书库的回退。
最初作为composer/composer的一部分编写,现在已提取并作为一个独立的库提供。
安装
使用以下命令安装最新版本
$ composer require composer/ca-bundle
需求
- 需要PHP 5.3.2,但强烈推荐使用PHP的最新版本。
基本用法
Composer\CaBundle\CaBundle
CaBundle::getSystemCaRootBundlePath()
:返回系统CA证书库路径,或回退到捆绑的路径CaBundle::getBundledCaBundlePath()
:返回捆绑CA文件的路径CaBundle::validateCaFile($filename)
:使用openssl_x509_parse验证CA文件,仅当安全使用时CaBundle::isOpensslParseSafe()
:测试是否安全使用PHP函数openssl_x509_parse()CaBundle::reset()
:重置静态缓存
与curl一起使用
$curl = curl_init("https://example.org/"); $caPathOrFile = \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath(); if (is_dir($caPathOrFile)) { curl_setopt($curl, CURLOPT_CAPATH, $caPathOrFile); } else { curl_setopt($curl, CURLOPT_CAINFO, $caPathOrFile); } $result = curl_exec($curl);
与php streams一起使用
$opts = array( 'http' => array( 'method' => "GET" ) ); $caPathOrFile = \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath(); if (is_dir($caPathOrFile)) { $opts['ssl']['capath'] = $caPathOrFile; } else { $opts['ssl']['cafile'] = $caPathOrFile; } $context = stream_context_create($opts); $result = file_get_contents('https://example.com', false, $context);
与Guzzle一起使用
$client = new \GuzzleHttp\Client([ \GuzzleHttp\RequestOptions::VERIFY => \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath() ]);
许可证
composer/ca-bundle在MIT许可证下许可,有关详细信息,请参阅LICENSE文件。