Как создать цифровой сертификат и экспортировать его в файл .p12 в PHP?

Как создать цифровой сертификат и экспортировать его в файл .p12 в PHP?

Я хочу, чтобы в файл .p12 был включен закрытый ключ. А также хочу проверить, выдана ли уже пара ключей (занесена ли она в базу данных).

Я нашел функцию под названием «openssl_pkcs12_export_to_file», но не знаю, с чего начать. Кажется, мне сначала нужен сертификат X509 и закрытый ключ.


person jondinham    schedule 01.12.2011    source источник


Ответы (1)


Создание самоподписанного сертификата:

<?php
$dn = array(
    "countryName" => "UK",
    "stateOrProvinceName" => "Somerset",
    "localityName" => "Glastonbury",
    "organizationName" => "The Brain Room Limited",
    "organizationalUnitName" => "PHP Documentation Team",
    "commonName" => "Wez Furlong",
    "emailAddress" => "[email protected]"
);

$privkey = openssl_pkey_new();
$csr = openssl_csr_new($dn, $privkey);
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
   echo $e . "\n";
}
?>
person Mike    schedule 05.03.2012