misatron/letsencrypt-client

ACME v2 的 Let's Encrypt 客户端库

1.0.0-beta2 2020-03-26 13:40 UTC

This package is auto-updated.

Last update: 2024-09-09 01:04:47 UTC


README

Build Status Code Coverage Code Quality Packagist Version

ACME v2 草稿

安装

使用 Composer 安装此包

composer require misantron/letsencrypt-client

基本用法

使用默认值创建客户端实例

use LetsEncrypt\Client;

$client = new Client($accountKeysPath, $certificatesPath);

默认情况下,客户端使用 api 测试环境。
要切换到生产模式,您可以将第三个参数传递给客户端构造函数,并使用 false

use LetsEncrypt\Client;

$client = new Client($accountKeysPath, $certificatesPath, false);

账户方法

  • $client->account()->create(array $emails)
  • $client->account()->get()
  • $client->account()->getOrCreate(array $emails)
  • $client->account()->update(array $emails)
  • $client->account()->keyRollover()
  • $client->account()->deactive()

订单方法

  • $client->order()->create(Account $account, string $basename, array $subjects, Certificate $certificate)
  • $client->order()->get(Account $account, string $basename, array $subjects, KeyType $keyType)
  • $client->order()->getOrCreate(Account $account, string $basename, array $subjects, Certificate $certificate)
  • $client->order()->getPendingHttpAuthorizations(Account $account, Order $order)
  • $client->order()->getPendingDnsAuthorizations(Account $account, Order $order)
  • $client->order()->verifyPendingHttpAuthorizations(Account $account, Order $order, string $identifier)
  • $client->order()->verifyPendingDnsAuthorizations(Account $account, Order $order, string $identifier)
  • $client->order()->getCertificate(Account $account, Order $order, string $basename, KeyType $keyType)
  • $client->order()->getCertificateContent(string $basename, KeyType $keyType)
  • $client->order()->getCertificateExpirationDate(string $basename, KeyType $keyType)
  • $client->order()->revokeCertificate(Account $account, string $basename, KeyType $keyType, RevocationReason $reason)

高级用法

日志记录

如果您需要获取一些调试信息或分析服务器交互

use LetsEncrypt\Client;                       
use LetsEncrypt\Logger\Logger;
use LetsEncrypt\Logger\LogStrategy;

$strategy = LogStrategy::errorsOnly();
// $logger is an instance of PSR-3 logger (\Psr\Log\LoggerInterface)
$clientLogger = new Logger($logger, $strategy);
$client = new Client($accountKeysPath, $certificatesPath, true, $clientLogger);

日志策略

  • LogStrategy::requestsOnly() 仅记录请求数据
  • LogStrategy::errorsOnly() 仅记录失败(400/500)请求(请求数据/响应数据)
  • LogStrategy::debugMode() 记录所有请求(请求数据/响应数据)