(PHP 4 >= 4.0.4, PHP 5, PHP 7)
openssl_open — Öffne versiegelte Daten
$sealed_data
, string &$open_data
, string $env_key
, mixed $priv_key_id
[, string $method
= "RC4"
[, string $iv
]] ) : bool
Die Funktion openssl_open() öffnet (entschlüsselt)
sealed_data
unter Verwendung des privaten
Schlüssels, der mit der Schlüsselkennung
priv_key_id
und dem Umschlagschlüssel
env_key
verknüpft ist und füllt
open_data
mit den entschlüsselten Daten. Der
Umschlagschlüssel wird bei der Versiegelung erzeugt und kann
ausschlieslich für einen bestimmten privaten Schlüssel verwendet werden.
Mehr Informationen sind der Dokumentation zu
openssl_seal() zu entnehmen.
sealed_data
open_data
Bei erfolgreicher Ausführung werden die geöffneten Daten in diesem Parameter zurückgegeben.
env_key
priv_key_id
method
Die Chiffriermethode.
iv
Der Initialisierungsvektor.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Version | Beschreibung |
---|---|
7.0.0 |
Der iv Parameter wurde hinzugefügt.
|
5.3.0 |
Der method Parameter wurde hinzugefügt.
|
Beispiel #1 openssl_open() Beispiel
<?php
// Annahme: $sealed und $env_key enthalten versiegelte Daten bzw. unseren
// Umschlagschlüssel; beide haben wir von dem Versiegelnden erhalten
// privaten Schlüssel aus einer Datei holen und vorbereiten
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);
// entschlüsseln der Daten und speichern in $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
echo "Das sind die geöffneten Daten: ", $open;
} else {
echo "Öffnen der Daten nicht möglich!";
}
// löschen des privaten Schlüssels aus dem Speicher
openssl_free_key($pkeyid);
?>