alanmburr/self-signed-tls-generator

快速生成您自己的TLS证书的库。

v1.1.2 2024-05-05 21:47 UTC

This package is auto-updated.

Last update: 2024-09-05 22:30:10 UTC


README

此库依赖于开发包。您可能需要在composer.json中将“minimim-stability”设置为“dev”。

  1. 安装和更新Composer依赖项… composer install然后composer update

  2. 使用…

    1. 首先,创建一个DistinguishedName类…
$dn = new DistinguishedName("US", "Virginia", "Richmond", "org", false, "mynewawesometlsdomain.local", false);
  1. 创建一个新的CaInformation类…

    1. 输入

      1. CA的完整文件路径(证书必须为PEM格式)

      2. CA密钥的完整文件路径

      3. CA密钥的密码(明文,仅限)

$ca = new CaInformation(__DIR__."/ca.crt", __DIR__."/ca.key", "123abc");
  1. 创建一个新的SelfSignedTlsGenerator类…

    1. 输入

      1. DistinguishedName(必需)

      2. OpenSSL配置(可选)

        1. 留空或传入null以使用默认配置。
      3. 按域名OpenSSL配置(可选)

        1. 如果留空,则该类将从DistinguishedName的通用名称部分生成一个UUID(gen 5)。
      4. 供应商OpenSSL配置文件名(可选)

        1. 默认为VendorConfig.cnf。如果有自定义配置,请传入完整路径。
$tlsgen = new SelfSignedTlsGenerator($dn);
  1. 运行SelfSignedTlsGenerator类的generateFromDN函数…

    1. 输入

      1. CaInformation(必需)

      2. 私钥位数(默认为2048)

      3. 有效期(默认为3650天(10年),上限为10年)

        1. 上限为10年,因为某些浏览器拒绝有效期为十年以上的证书。我还没有遇到过这种情况,而且其他人似乎也没有遇到过,但这是一个需要注意的理论限制。
    2. 返回

      1. 字符串数组

        1. 新证书的私钥

        2. 证书内容。

$crt = $tlsgen->generateFromDN($ca);
print_r($crt);