sashabo / self-signed-certs
为您的域名创建自签名SSL证书。
Requires
- php: >=8.1
- ext-openssl: *
README
PHP库,用于创建自签名证书。无依赖项。
安装
composer require sashabo/self-signed-certs
使用方法
<?php use SashaBo\SelfSignedCerts\CertificateGenerator; $generator = new CertificateGenerator(); $generator ->setName('Some Name') ->setEmail('somebody@example.com') ->setAddress('CC', 'State or province', 'City') ->setOrganization('Organization', 'Department') ; $pair = $generator->generate(); $pair->save('/etc/nginx/ssl/my.key', '/etc/nginx/ssl/my.crt');
证书生成器方法
generate(): CertificatePair
以下设置不是必需的,在大多数情况下您可以使用默认值
setExpireDays(int $days): static - 默认为 3650
setPrivateKeyBits(int $bits): static - 默认为 4096
setPrivateKeyType(int $type): static - 默认为 OPENSSL_KEYTYPE_RSA
setDigestAlgorithm(string $algorithm): static - 默认为 AES-128-CBC
setOpenSslConfPath(string $path): static - 默认为 /etc/ssl/openssl.cnf (Ubuntu和大多数Linux的标准路径)
这些设置将覆盖 openssl.cnf 的设置
setName(string $name): static
setEmail(string $email): static
setAddress(string $countryCode, string $stateOrProvince, string $city): static
setOrganization(string $name, string $unit): static
证书对方法
getPrivateKey(): \OpenSSLAsymmetricKey
getCertificate(): \OpenSSLCertificate
exportPrivateKey(?string $passPhrase = null): string
exportCertificate(): string
save(string $privateKeyPath, string $certPath, ?string $passPhrase = null): void