PHP 7.1.0 Release Candidate 3 Released

openssl_pkcs12_read

(PHP 5 >= 5.2.2, PHP 7)

openssl_pkcs12_readPKCS#12 認証ストアをパースして配列形式にする

説明

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

openssl_pkcs12_read() は、 pkcs12 で指定した PKCS#12 認証ストアをパースして certs で指定した配列に格納します。

パラメータ

pkcs12

認証ストアの内容。ファイル名ではありません。

certs

成功した場合に、ここに認証ストアデータが格納されます。

pass

PKCS#12 ファイルのロックを解除するためのパスワード。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 openssl_pkcs12_read() の例

<?php
if (!$cert_store file_get_contents("/certs/file.p12")) {
    echo 
"Error: Unable to read the cert file\n";
    exit;
}

if (
openssl_pkcs12_read($cert_store$cert_info"my_secret_pass")) {
    echo 
"Certificate Information\n";
    
print_r($cert_info);
} else {
    echo 
"Error: Unable to read the cert store.\n";
    exit;
}
?>
add a note add a note

User Contributed Notes 1 note

up
-8
bromatom at directbox dot com
8 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