openssl_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_openÖffne versiegelte Daten

Beschreibung

openssl_open ( string $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.

Parameter-Liste

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.

Rückgabewerte

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

Changelog

Version Beschreibung
7.0.0 Der iv Parameter wurde hinzugefügt.
5.3.0 Der method Parameter wurde hinzugefügt.

Beispiele

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($fp8192);
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);
?>

Siehe auch