openssl_get_publickey
openssl_pkcs12_export_to_file
OpenSSL Funktionen
PHP Manual

# openssl_open

(PHP 4 >= 4.0.4, PHP 5)

openssl_open — Öffnet versiegelte Daten

### Beschreibung

bool openssl_open ( string `$sealed_data` , string `&$open_data` , string `$env_key` , mixed `$priv_key_id` )

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 erhalten Sie bei der Dokumentation zu openssl_seal().

### Parameter-Liste

`sealed_data`

`open_data`

  Bei erfolgreicher Ausführung werden die gelesenen Daten in diesem Parameter zurückgegeben.

`env_key`

`priv_key_id`

### Rückgabewerte

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

### Beispiele

Beispiel #1 openssl_open() Beispiel

`<?php
// Annahme: $sealed und $env_key enthalten versiegelte Daten und 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);
?>`

### Siehe auch

- openssl_seal() - Versiegelt (verschlüsselt) Daten

openssl_get_publickey
openssl_pkcs12_export_to_file
OpenSSL Funktionen
PHP Manual