Encrypt using private key, decrypt using public key.
Use this for posting signed messages: Anyone with access to
your public key can read it, but they can't create one with
your signature.
<?php
echo "Source: $source";
$fp=fopen("/path/to/private.key","r");
$priv_key=fread($fp,8192);
fclose($fp);
// $passphrase is required if your key is encoded (suggested)
$res = openssl_get_privatekey($priv_key,$passphrase);
/*
* NOTE: Here you use the returned resource value
*/
openssl_private_encrypt($source,$crypttext,$res);
echo "String crypted: $crypttext";
$fp=fopen ("/path/to/certificate.crt","r");
$pub_key=fread($fp,8192);
fclose($fp);
openssl_get_publickey($pub_key);
/*
* NOTE: Here you use the $pub_key value (converted, I guess)
*/
openssl_public_decrypt($crypttext,$newsource,$pub_key);
echo "String decrypt : $newsource";
?>
openssl_private_encrypt
(PHP 4 >= 4.0.6, PHP 5)
openssl_private_encrypt — Verschlüsselt Daten mit einem privaten Schlüssel
Beschreibung
openssl_private_encrypt() verschlüsselt data mit dem privaten key und speichert das Ergebnis in crypted. Verschlüsselte Daten können Sie mit openssl_public_decrypt() entschlüsseln.
Zum Beispiel können Sie diese Funktion benutzen umd Daten (oder deren Hashwert) zu signieren um damit sicher zu stellen, dass diese Daten wirklich von Ihnen selbst stammen und nicht von jemanden anders.
Parameter-Liste
- data
-
- crypted
-
- key
-
- padding
-
padding ist per Standard OPENSSL_PKCS1_PADDING, kann aber auch OPENSSL_NO_PADDING sein.
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Siehe auch
- openssl_public_encrypt() - Verschlüsselt Daten mit einem öffentlichen Schlüssel
- openssl_public_decrypt() - Entschlüsselt Daten mit einem öffentlichen Schlüssel
openssl_private_encrypt
09-Mar-2002 12:50
28-Jan-2002 07:47
<?php
$fp=fopen ("/path/to/key.pem","r");
$priv_key=fread ($fp,8192);
fclose($fp);
openssl_get_privatekey ($priv_key);
openssl_private_encrypt($source,$finaltext,$priv_key);
echo "String crypted: $finaltext";
?>
CIAO !