alanmburr / self-signed-tls-generator
快速生成您自己的TLS证书的库。
v1.1.2
2024-05-05 21:47 UTC
Requires
- margusk/openssl-wrapper: dev-master
- ramsey/uuid: 5.x-dev
Requires (Dev)
- phpunit/phpunit: ^11
README
此库依赖于开发包。您可能需要在composer.json中将“minimim-stability”设置为“dev”。
-
安装和更新Composer依赖项…
composer install
然后composer update
-
使用…
- 首先,创建一个DistinguishedName类…
$dn = new DistinguishedName("US", "Virginia", "Richmond", "org", false, "mynewawesometlsdomain.local", false);
-
创建一个新的CaInformation类…
-
输入
-
CA的完整文件路径(证书必须为PEM格式)
-
CA密钥的完整文件路径
-
CA密钥的密码(明文,仅限)
-
-
$ca = new CaInformation(__DIR__."/ca.crt", __DIR__."/ca.key", "123abc");
-
创建一个新的SelfSignedTlsGenerator类…
-
输入
-
DistinguishedName(必需)
-
OpenSSL配置(可选)
- 留空或传入null以使用默认配置。
-
按域名OpenSSL配置(可选)
- 如果留空,则该类将从DistinguishedName的通用名称部分生成一个UUID(gen 5)。
-
供应商OpenSSL配置文件名(可选)
- 默认为
VendorConfig.cnf
。如果有自定义配置,请传入完整路径。
- 默认为
-
-
$tlsgen = new SelfSignedTlsGenerator($dn);
-
运行SelfSignedTlsGenerator类的generateFromDN函数…
-
输入
-
CaInformation(必需)
-
私钥位数(默认为2048)
-
有效期(默认为3650天(10年),上限为10年)
- 上限为10年,因为某些浏览器拒绝有效期为十年以上的证书。我还没有遇到过这种情况,而且其他人似乎也没有遇到过,但这是一个需要注意的理论限制。
-
-
返回
-
字符串数组
-
新证书的私钥
-
证书内容。
-
-
-
$crt = $tlsgen->generateFromDN($ca); print_r($crt);