(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_dataBei erfolgreicher Ausführung werden die geöffneten Daten in diesem Parameter zurückgegeben.
env_key
priv_key_id
methodDie Chiffriermethode.
ivDer 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);
?>