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_public_decrypt
(PHP 4 >= 4.0.6, PHP 5)
openssl_public_decrypt — Entschlüsselt Daten mit einem öffentlichen Schlüssel
Beschreibung
openssl_public_decrypt() entschlüsselt data , die zuvor mit openssl_private_encrypt() verschlüsselt wurden und speichert das Ergebnis in decrypted . key muss dem öffentlichen Schlüssel entsprechen, der verwendet wurde, um die Daten zu verschlüsseln. Für padding ist als Standard OPENSSL_PKCS1_PADDING gesetzt, aber Sie können auch OPENSSL_NO_PADDING verwenden.
Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.
Zum Beispiel können Sie diese Funktion verwenden, um zu überprüfen, dass eine Nachricht wirklich vom Eigentümer des privaten Schlüssels geschrieben wurde.
Siehe auch openssl_private_encrypt() und openssl_private_decrypt().
openssl_public_decrypt
08-Mar-2002 03:52
28-Jan-2002 10:41
<?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";
?>
