totten/ca-config

证书授权机构的默认配置

v23.07.0 2023-07-14 07:20 UTC

This package is auto-updated.

Last update: 2024-09-14 09:38:55 UTC


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 测试套件。

如果您遇到问题,请随时提交补丁或报告问题。