Please note that "file://path/to/file.pem" in documentation means file protocol + file path. In UNIX like OS, that is something like file:///rsa_private_key.pem. There is THREE slashes in the path string, not TWO.
openssl_pkey_get_private
(PHP 4 >= 4.2.0, PHP 5)
openssl_pkey_get_private — Liefert einen privaten Schlüssel
Beschreibung
openssl_get_privatekey() parst
key und bereitet ihn zur Nutzung durch andere Funktionen vor.
Parameter-Liste
-
key -
Als
keykann angegeben werden:- Eine Zeichenkette im Format file://path/to/file.pem. Die angegebene Datei muss ein PEM kodiertes Zertifikat und/oder einen privaten Schlüssel enthalten.
- Ein privater Schlüssel im PEM-Format.
-
passphrase -
Der optionale Parameter
passphrasemuß angegeben werden falls der Schlüssel selbst verschlüsselt ist (durch eine Passphrase geschützt).
Rückgabewerte
Gibt bei Erfolg eine Schlüssel-Resource zurück, FALSE wenn ein Fehler auftritt.
joelhy
27-Feb-2011 04:46
justin at gripwire dot com
29-Apr-2008 10:55
At least as of PHP 5.2.5, this function's prototype matches what is given on this page (i.e. it does not require an array for its two parameters).
Joel Barker
30-Aug-2005 06:03
Note that the important part of meint's post is that there is a SINGLE argument: an ARRAY of two elements. In other words, the correct prototype of the function is
resource openssl_pkey_get_private ( array params )
where params = array( 0 => $key, 1 => $passphrase)
Thanks, meint, you made my day!
meint dot post at bigfoot dot com
16-Jan-2003 08:58
Trying for hours to get openssl_pkey_get_private to load my private key (no problems with openssl_pkey_get_public) I found that the following loaded the private key correctly:
$passphrase="test";
$priv_key_file_name = ("./private.pem");
if (openssl_pkey_get_private(array("file://$priv_key_file_name", $passphrase)))
{
print "\nPrivate Key OK\n\n";
} else {
print "\nPrivate key NOT OK\n\n";
}
