(PHP 4 >= 4.0.6, PHP 5)
openssl_public_decrypt — Entschlüsselt Daten mit einem öffentlichen Schlüssel
openssl_public_decrypt() entschlüsselt data, die zuvor mit openssl_private_encrypt() verschlüsselt wurden und speichert das Ergebnis in decrypted.
Sie können diese Funktion beispielsweise verwenden um zu überprüfen, ob eine Nachricht wirklich vom Eigentümer des privaten Schlüssels geschrieben wurde.
key muss der öffentliche Schlüssel sein der mit dem privaten Schlüssel übereinstimmt mit dem die Daten verschlüsselt wurden.
Für padding ist OPENSSL_PKCS1_PADDING voreingestellt, zulässig ist aber auch OPENSSL_NO_PADDING.
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/certificato.pem");
$pub_key=fread ($fp,8192);
openssl_get_publickey ($pub_key);
openssl_public_decrypt ($source,$finaltext,$pub_key);
echo "String decrypt : $finaltext";
?>