PHP Doku:: Speichert ein PKCS#12 Zertifikat in einem Array - function.openssl-pkcs12-read.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzKryptografische ErweiterungenOpenSSLOpenSSL Funktionenopenssl_pkcs12_read

Ein Service von Reinhard Neidl - Webprogrammierung.

OpenSSL Funktionen

<<openssl_pkcs12_export

openssl_pkcs7_decrypt>>

openssl_pkcs12_read

(PHP 5 >= 5.2.2)

openssl_pkcs12_readSpeichert ein PKCS#12 Zertifikat in einem Array

Beschreibung

bool openssl_pkcs12_read ( mixed $PKCS12 , array &$certs , string $pass )

openssl_pkcs12_read() speichert das im Parameter PKCS12 übergebene PKCS#12 Zertifikat als Array im Parameter certs.

Parameter-Liste

PKCS12

certs

Enthält im Erfolgsfall die Zertifikatsdaten als Array.

pass

Passwort zum Entschlüsseln der PKCS#12-Datei.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.


2 BenutzerBeiträge:
- Beiträge aktualisieren...
bromatom at directbox dot com
1.09.2008 21:18
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
  (
  )
)
mmacia at gmail dot com
26.12.2007 14:13
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';
}
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)