PHP Handbuch
Zurück |  | Nach vorne

# 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().

Zurück | Zum Anfang | Nach vorne
openssl_get_publickey | Nach oben | openssl_pkcs7_decrypt