Hello,
the fourth parameter 'signature_alg' to choose the signature algorithm can be one of:
OPENSSL_ALGO_SHA1
OPENSSL_ALGO_MD5
OPENSSL_ALGO_MD4
OPENSSL_ALGO_MD2
Just for the case that somebody needs this.
Regards
openssl_sign
(PHP 4 >= 4.0.4, PHP 5)
openssl_sign — Erzeugen einer Signatur
Beschreibung
openssl_sign() errechnet eine Signatur für die im Parameter dataangegebenen Daten. Dazu werden die Daten zunächst mit SHA1 gehasht und dann unter Verwendung des in priv_key_id angegebenen privaten Schlüssels verschlüsselt. Bitte beachten Sie daß die Daten selbst nicht verschlüsselt werden.
Parameter-Liste
- data
-
- signature
-
Nach erfolgreicher Ausführung wird die Signatur im Parameter signature zurückgegeben.
- priv_key_id
-
- signature_alg
-
Standard ist OPENSSL_ALGO_SHA1. Für weitere Informationen siehe Signatur-Algorithmen.
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Changelog
| Version | Beschreibung |
|---|---|
| 5.0.0 | Der Parameter signature_alg wurde hinzugefügt. |
Beispiele
Beispiel #1 openssl_sign() example
<?php
// Annahme: $data enthält die Daten, die signiert werden sollen.
// holen und vorbereiten des privaten Schlüssels aus einer Datei.
$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);
// errechnen der Unterschrift
openssl_sign($data, $signature, $pkeyid);
// Löschen des Schlüssels aus dem Speicher
openssl_free_key($pkeyid);
?>
openssl_sign
19-Oct-2005 09:50