首先下载一个Acmephp在git上可以下载到
下载地址:https://github.com/acmephp/acmephp
我这里演示的是最新版本2.1.0
接下来直接上代码
<?php
require_once __DIR__.'/vendor/autoload.php';
use AcmePhpSslCertificateRequest;
use AcmePhpSslKeyPair;
use AcmePhpSslParserKeyParser;
use AcmePhpCoreAcmeClient;
use AcmePhpCoreAcmeServerDirectory;
use AcmePhpCoreExceptionAcmeException;
// 配置你的ACME服务器
$directoryUrl = 'https://acme-v02.api.letsencrypt.org/directory';
$email = 'your-email@example.com';
$serverDirectory = new AcmeServerDirectory($directoryUrl, $email);
// 使用你持有的域名来构建你的证书申请
$domain = 'example.com';
$keyParser = new KeyParser();
$keyPair = $keyParser->parse(file_get_contents('/path/to/private-key.pem'));
$csr = new CertificateRequest($keyPair, [$domain]);
// 初始化ACME客户端
$acmeClient = new AcmeClient($serverDirectory);
try {
// 获取新的SSL证书
$certificate = $acmeClient->requestCertificate($csr, $domain);
} catch (AcmeException $e) {
echo 'ACME异常:'.$e->getMessage();
}
// 将证书以PEM格式写入文件
file_put_contents('/path/to/certificate.pem', $certificate->getCertificate());
版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!