English | 简体中文 | 繁體中文
查询

openssl_csr_new()函数—用法及示例

「 生成一个新的证书签名请求(CSR) 」


函数名:openssl_csr_new()

适用版本:PHP 4.2.0及以上版本

函数说明:openssl_csr_new()函数用于生成一个新的证书签名请求(CSR)。

用法: openssl_csr_new(array $dn, &$privkey, array $configargs = array [, array $extraattribs = array [, array $x509extensions = array]])

参数说明:

  • $dn:一个关联数组,包含了用于创建CSR的Distinguished Name(DN)信息。数组的键是DN字段的名称,值是对应的值。例如,array('countryName' => 'US', 'stateOrProvinceName' => 'California', 'organizationName' => 'Example Corp')。
  • &$privkey:一个引用变量,用于接收生成的私钥。
  • $configargs:一个关联数组,包含了配置选项。可选参数,用于指定生成CSR的配置选项,例如:array('config' => '/path/to/openssl.cnf')。
  • $extraattribs:一个关联数组,包含了额外的属性。可选参数,用于指定额外的属性,例如:array('challengePassword' => 'password')。
  • $x509extensions:一个关联数组,包含了X.509扩展信息。可选参数,用于指定X.509扩展信息,例如:array('subjectAltName' => 'example.com')。

返回值: 如果成功生成CSR,则返回一个资源标识符(resource identifier)用于后续的操作。如果失败,则返回false。

示例:

$dn = array(
    'countryName' => 'US',
    'stateOrProvinceName' => 'California',
    'organizationName' => 'Example Corp'
);

$configargs = array(
    'config' => '/path/to/openssl.cnf'
);

$extraattribs = array(
    'challengePassword' => 'password'
);

$x509extensions = array(
    'subjectAltName' => 'example.com'
);

$privateKey = null;

$csr = openssl_csr_new($dn, $privateKey, $configargs, $extraattribs, $x509extensions);

if ($csr === false) {
    echo "CSR creation failed.";
} else {
    echo "CSR creation successful.";
    // 可以使用openssl_csr_export()导出CSR或者使用openssl_csr_get_subject()获取CSR的主题信息等。
}

以上示例演示了如何使用openssl_csr_new()函数生成一个新的证书签名请求(CSR),并通过检查返回值来确定是否生成成功。成功生成CSR后,您可以使用openssl_csr_export()函数导出CSR或者使用openssl_csr_get_subject()函数获取CSR的主题信息等进一步操作。

补充纠错
上一个函数: openssl_csr_sign()函数
下一个函数: openssl_csr_get_subject()函数
热门PHP函数
分享链接