易拉罐 / easyrsa-php
在您的应用程序中使用官方EasyRSA脚本集合的简单方法
1.0.1
2020-07-29 04:48 UTC
Requires
- php: ^7.2
- ext-curl: *
- ext-json: *
- splitbrain/php-archive: ^1.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- larapack/dd: ^1.1
- limedeck/phpunit-detailed-printer: ^5.0
- orchestra/testbench: ^4.0|^5.0
- phpunit/phpunit: ^8.0
- vlucas/phpdotenv: ^4.0
Suggests
- vlucas/phpdotenv: ^4.0
This package is not auto-updated.
Last update: 2024-09-25 08:52:16 UTC
README
PHP的EasyRSA包装器
在您的应用程序中简单使用官方EasyRSA脚本集合的方法。
composer require evilfreelancer/easyrsa-php
顺便说一句,EasyRSA库支持Laravel和Lumen框架,详情在这里。
如何使用
更多示例可以在这里找到。
下载EasyRSA的最新版本
在开始使用此脚本之前,需要下载easy-rsa包。
require_once __DIR__ . '/../vendor/autoload.php'; use EasyRSA\Downloader; $dnl = new Downloader([ 'archive' => './easy-rsa.tar.gz', 'scripts' => './easy-rsa', ]); $dnl->getEasyRSA();
此脚本的结果将在easy-rsa
文件夹中。
生成证书
require_once __DIR__ . '/../vendor/autoload.php'; use Dotenv\Dotenv; use EasyRSA\Commands; // Load dotenv? if (file_exists(__DIR__ . '/../vars.example')) { Dotenv::createImmutable(__DIR__ . '/../', 'vars.example')->load(); } $cmd = new Commands([ 'scripts' => './easy-rsa', 'certs' => './easy-rsa-certs', ]); $cmd->initPKI(); $cmd->buildCA(true); $cmd->genDH(); $cmd->buildServerFull('server', true); $cmd->buildClientFull('client1', true); $cmd->buildClientFull('client2', true);
此脚本的结果将在easy-rsa-certs
文件夹中。
所有可用命令列表
您也可以通过getConfig($filename)
方法读取生成证书的内容
<?php require_once __DIR__ . '/../vendor/autoload.php'; use \EasyRSA\Commands; $cmd = new Commands([ 'scripts' => './easy-rsa', 'certs' => './easy-rsa-certs', ]); $file = $cmd->getContent('ca.crt'); echo "$file\n"; $file = $cmd->getContent('server.crt'); echo "$file\n"; $file = $cmd->getContent('server.key'); echo "$file\n";
环境变量
您可以通过主机系统的环境或使用vlucas/phpdotenv库或您喜欢的任何其他方式来设置这些变量。
EASYRSA_DN="cn_only" #EASYRSA_DN="org" EASYRSA_REQ_COUNTRY="DE" EASYRSA_REQ_PROVINCE="California" EASYRSA_REQ_CITY="San Francisco" EASYRSA_REQ_ORG="Copyleft Certificate Co" EASYRSA_REQ_EMAIL="me@example.net" EASYRSA_REQ_OU="My Organizational Unit" EASYRSA_REQ_CN="ChangeMe" EASYRSA_KEY_SIZE=2048 EASYRSA_ALGO=rsa EASYRSA_CA_EXPIRE=3650 EASYRSA_CERT_EXPIRE=3650 EASYRSA_DIGEST="sha256"
以下是在证书构建阶段应使用的环境变量配置示例,可以在这里找到。
框架支持
Laravel
包的服务提供程序将自动注册其服务提供程序。
发布easy-rsa.php
配置文件
php artisan vendor:publish --provider="EasyRSA\Laravel\ServiceProvider"
通过.env文件的其他配置方法
如上所述发布配置文件后,您可以通过将以下内容添加到应用程序的.env
文件(使用适当的值)来配置库
EASYRSA_WORKER=default EASYRSA_ARCHIVE=./easy-rsa.tar.gz EASYRSA_SCRIPTS=./easy-rsa EASYRSA_CERTS=./easy-rsa-certs
Lumen
如果您使用Lumen,请在bootstrap/app.php
中注册服务提供程序和配置
$app->register(EasyRSA\Laravel\ServiceProvider::class); $app->configure('easy-rsa');
手动将配置文件复制到您的应用程序。
测试
此库可以通过多种不同的方式进行测试
composer test:lint composer test:types composer test:unit
或者只需要一个命令
composer test