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.
openssl_csr_export
(PHP 4 >= 4.2.0, PHP 5)
openssl_csr_export — Exports a CSR as a string
说明
bool openssl_csr_export
( resource
$csr
, string &$out
[, bool $notext = true
] )
openssl_csr_export() takes the Certificate Signing
Request represented by csr and stores it as
ascii-armoured text into out, which is passed by
reference.
参数
-
csr -
-
out -
-
notext -
可选参数
notext影响输出的冗余度。如果设为FALSE,输出内容将包含附加的人类可读信息。notext的缺省值为TRUE。
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
参见
- openssl_csr_export_to_file() - Exports a CSR to a file
- openssl_csr_new() - Generates a CSR
- openssl_csr_sign() - Sign a CSR with another certificate (or itself) and generate a certificate
carlos AT wfmh DOT org DOT pl ¶
10 years ago
