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 — Desencripta información con la clave pública
Descripción
bool openssl_public_decrypt
( string
$data
, string &$decrypted
, mixed $key
[, int $padding = OPENSSL_PKCS1_PADDING
] )
openssl_public_decrypt() desncripta la información
data que fue previamente encriptada mediante
openssl_private_encrypt() y almacena el resultado en
decrypted.
Se puede usar esta función para, p.ej., verificar si el mensaje fur escrito por el propietario de la clave privada.
Parámetros
-
data -
-
decrypted -
-
key -
keydebe ser la clave pública que se corresponde con la usada para encriptar la información. -
padding -
paddingpuede serOPENSSL_PKCS1_PADDING,OPENSSL_NO_PADDING.
Valores devueltos
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Ver también
- openssl_private_encrypt() - Encripta información con la clave privada
- openssl_private_decrypt() - Desencripta información con la clave privada
wfredkNOSPAM at L5DevelopmentNOSPAM dot com ¶
11 years ago
billnet at tiscalinet dot it ¶
11 years ago
<?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";
?>
