(PHP 4 >= 4.0.6, PHP 5)
openssl_private_encrypt — Verschlüsselt Daten mit einem privaten Schlüssel
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.
padding ist per Standard OPENSSL_PKCS1_PADDING, kann aber auch OPENSSL_NO_PADDING sein.
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
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";
?>
<?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 !