openssl_csr_export
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_csr_export — 将 CSR 作为字符串导出
说明
openssl_csr_export(OpenSSLCertificateSigningRequest|string
$csr
, string &$output
, bool $no_text
= true
): bool
openssl_csr_export() 获取证书签名请求(csr
)并通过引用保存其 PEM 格式的字符串(output
)。
参数
csr
-
See CSR parameters for a list of valid values.
output
-
在成功时,该字符串将包含 PEM 编码的 CSR。
no_text
-
可选参数
notext
影响输出的冗余度。如果设为false
,输出内容将包含附加的人类可读信息。notext
的缺省值为true
。
更新日志
版本 | 说明 |
---|---|
8.0.0 |
csr 现在接受 OpenSSLCertificateSigningRequest
实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
|
示例
示例 #1 openssl_csr_export() 示例
<?php
$subject = array(
"commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
'digest_alg' => 'sha256WithRSAEncryption'
);
$csr = openssl_csr_new($subject, $private_key, $configargs);
openssl_csr_export($csr, $csr_string);
echo $csr_string;
?>
参见
- openssl_csr_export_to_file() - 将 CSR 导出到文件
- openssl_csr_new() - 生成一个 CSR
- openssl_csr_sign() - 用另一个证书签署 CSR(或者本身)并且生成一个证书
+添加备注
用户贡献的备注 1 note
carlos AT wfmh DOT org DOT pl ¶
22 years ago
Here you come with the example of how to use this function.
if( $csr = openssl_csr_new( array(
"countryName"=>"PL",
"stateOrProvinceName" => "blah",
"organizationName" => "company ltd",
"commonName"=>"foo.bar.com",
"Email"=>"blah@foo.bar.com"), $privkey )
)
{
openssl_csr_export_to_file( $csr, "out.csr");
}
else
{
printf("failed\n");
}
Keep in mind that keys are case sensitive (i.e. give "email" instead of "Email" and you get warning). Also remember it's important to keep the order of the arguments in array. Move the "Email" above commonName and check what you get (in case you don't know how: "openssl req -noout -text -in out.csr").
It also happened to me me I got segfault when order was rubbish (afair Email after countryName, or plenty Email's here and there), so be awared.
备份地址:http://www.lvesu.com/blog/php/function.openssl-csr-export.php