查詢

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函式
分享連結