openssl_pkcs12_read

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

openssl_pkcs12_readРазбирает хранилище сертификатов PKCS#12 в массив

Описание

openssl_pkcs12_read(string $pkcs12, array &$certificates, string $passphrase): bool

openssl_pkcs12_read() разбирает хранилище сертификатов PKCS#12, заданное в pkcs12 и помещает в массив certificates.

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

pkcs12

Содержимое хранилища сертификатов, а не его имя файла.

certificates

В случае успеха будет содержать данные хранилища сертификата (Certificate Store Data).

passphrase

Пароль для расшифровки файла PKCS#12.

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

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

Примеры

Пример #1 Пример использования openssl_pkcs12_read()

<?php
if (!$cert_store file_get_contents("/certs/file.p12")) {
    echo 
"Ошибка: невозможно прочитать файл сертификата\n";
    exit;
}

if (
openssl_pkcs12_read($cert_store$cert_info"my_secret_pass")) {
    echo 
"Информация об сертификате\n";
    
print_r($cert_info);
} else {
    echo 
"Ошибка: невозможно прочитать хранилище сертификата.\n";
    exit;
}
?>
add a note add a note

User Contributed Notes 1 note

up
-19
bromatom at directbox dot com
15 years ago
To extract the contents of a PKCS12 file you can use file_get_contents as well:

<?
  $certs
= array();
 
$pkcs12 = file_get_contents( "pkcs12file.pem" );
 
// No password
 
openssl_pkcs12_read( $pkcs12, $certs, "" );
 
print_r( $certs );
?>

Output is:
Array
(
  [cert] => --- BEGIN CERTIFICATE ---
  //snipsnip//
  --- END CERTIFICATE ---
  [pkey] => --- BEGIN RSA PRIVATE KEY ---
  //snipsnip//
  [extracerts] = Array
  (
  )
)
To Top