openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

openssl_csr_exportЭкспорт CSR в виде строки

Описание

bool openssl_csr_export ( mixed $csr , string &$out [, bool $notext = true ] )

openssl_csr_export() записывает запрос подписи сертификата csr в формате PEM в переменную out, которая передается по ссылке.

Список параметров

csr

Список допустимых значений смотри: параметры CSR.

out

в случае успеха, в этой переменной будет сохранен CSR в формате PEM.

notext

Необязательный параметр notext влияет на детализацию сообщений вывода; если он установлен в FALSE, то в вывод добавляется дополнительная человекочитаемая информация. Значением по умолчанию notext является TRUE.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #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;
?>

Смотрите также

add a note add a note

User Contributed Notes 1 note

up
2
carlos AT wfmh DOT org DOT pl
15 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.
To Top