牛牛在线工具

openssl_csr_sign()

收录 8868 个 PHP 函数,含用途说明与用法示例。

openssl_csr_sign()

使用给定的CSR(Certificate Signing Request)进行签名,并生成一个SSL证书

函数名称: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:CSR资源,通过openssl_csr_new()函数生成。 $cacert:CA证书资源,通过openssl_x509_read()函数读取。 $priv_key:私钥资源,通过openssl_pkey_get_private()函数获取。 $days:证书的有效期(天数)。 $configargs:可选参数,用于指定额外的配置选项,如扩展信息等。默认值为NULL。 $serial:可选参数,证书的序列号。默认值为0。 返回值: 成功时返回生成的SSL证书资源。 失败时返回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); 注意事项: 在使用openssl_csr_sign()函数之前,需要先生成CSR和私钥,以及获取CA证书和私钥资源。 可以使用openssl_pkey_new()函数生成私钥,openssl_csr_new()函数生成CSR,openssl_x509_read()函数读取CA证书,openssl_pkey_get_private()函数获取私钥资源。 可以使用openssl_x509_export_to_file()函数将生成的SSL证书保存到文件,使用openssl_x509_export()函数输出生成的SSL证书内容。 证书有效期的单位是天,可以根据实际需求设置合适的有效期。 可以通过配置选项参数$configargs来指定额外的配置信息,如扩展信息等。 可以通过$serial参数设置证书的序列号,若不指定则默认为0。