downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

openssl_pkcs7_decrypt> <openssl_pkcs12_export
[edit] Last updated: Fri, 26 Apr 2013

view this page in

openssl_pkcs12_read

(PHP 5 >= 5.2.2)

openssl_pkcs12_readParse a PKCS#12 Certificate Store into an array

Description

bool openssl_pkcs12_read ( string $pkcs12 , array &$certs , string $pass )

openssl_pkcs12_read() parses the PKCS#12 certificate store supplied by pkcs12 into a array named certs.

Parameters

pkcs12

certs

On success, this will hold the Certificate Store Data.

pass

Encryption password for unlocking the PKCS#12 file.

Return Values

Returns TRUE on success or FALSE on failure.



add a note add a note User Contributed Notes openssl_pkcs12_read - [2 notes]
up
1
bromatom at directbox dot com
4 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
  (
  )
)
up
-3
mmacia at gmail dot com
5 years ago
The correct way to read a PKCS#12 file is:

<?php
$p12cert
= array();
$file = '/home/mmacia/mycert.p12';
$fd = fopen($file, 'r');
$p12buf = fread($fd, filesize($file));
fclose($fd);

if (
openssl_pkcs12_read($p12buf, $p12cert, 'passphrase') )
{
    echo
'Works!';
   
print_r($p12cert);
}
else
{
    echo
'Fail';
}
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites