函数名称:openssl_csr_sign()
适用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7
函数描述:openssl_csr_sign() 函数用于使用给定的CSR(Certificate Signing Request)进行签名,并生成一个SSL证书。
语法:bool openssl_csr_sign(resource $csr, mixed $cacert, mixed $priv_key, int $days[, array $configargs[, int $serial]]): resource|false
参数:
返回值:
示例:
// 生成CSR(Certificate Signing Request)
$dn = array(
"countryName" => "CN",
"stateOrProvinceName" => "Beijing",
"organizationName" => "Example Company",
"commonName" => "www.example.com"
);
$privateKey = openssl_pkey_new();
$csr = openssl_csr_new($dn, $privateKey);
// 读取CA证书和私钥
$cacert = openssl_x509_read(file_get_contents("ca.crt"));
$privKey = openssl_pkey_get_private(file_get_contents("private.key"));
// 签名CSR并生成SSL证书
$days = 365; // 证书有效期为1年
$cert = openssl_csr_sign($csr, $cacert, $privKey, $days);
// 将生成的SSL证书保存到文件
openssl_x509_export_to_file($cert, "ssl_cert.crt");
// 输出生成的SSL证书内容
echo openssl_x509_export($cert);
注意事项: