openssl_open

(PHP 4 >= 4.0.4)

openssl_open -- Öffnet versiegelte Daten

Beschreibung

bool openssl_open ( string sealed_data, string open_data, string env_key, mixed priv_key_id)

Warnung

Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Rückgabewert: Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE. Im Erfolgsfall werden die geöffneten Daten im Parameter open_data zurückgegeben.

Die Funktion openssl_open() öffnet (entschlüsselt) sealed_data unter Verwendung des privaten Schlüsssels, der mit der Schlüsselkennung priv_key_id und dem Umschlag Schlüssel env_key verknüpft ist und füllt open_data mit den entschlüsselten Daten. Der Umschlag Schlüssel wird bei der Versiegelung erzeugt und kann ausschlieslich für einen bestimmten privaten Schlüssel verwendet werden. Mehr Informationen erhalten Sie unter der openssl_seal() Funktion.

Beispiel 1. openssl_open() Beispiel

// Annahme: $sealed und $env_key enthalten versiegelte Daten
// und unseren Umschlag Schlüssel; beide haben wir von dem sie 
// 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);

Siehe auch openssl_seal().