Sommaire
OpenSSL
Introduction
Paramètres clés/certificats
Vérification de certificats
Constantes/flags PKCS7
openssl_error_string
openssl_free_key
openssl_get_privatekey
openssl_get_publickey
openssl_open
openssl_seal
openssl_sign
openssl_verify
openssl_pkcs7_decrypt
openssl_pkcs7_encrypt
openssl_pkcs7_sign
openssl_pkcs7_verify
openssl_x509_checkpurpose
openssl_x509_free
openssl_x509_parse
openssl_x509_read
|
6.69.10 openssl_seal[ Exemples avec openssl_seal ] PHP 4 >= 4.0.4Description
int openssl_seal(string data ,string sealed_data ,array env_keys ,array pub_key_ids )
openssl_seal retourne la longueur des données
scellées en cas de succès, et FALSE sinon.
En cas de succès, les données scellées sont
placées dans le paramètre sealed_data,
et les clés d'enveloppe dans env_keys.
openssl_seal scelle (chiffre) les données
data en utilisant l'algorithme RC4 avec une clé
secrètre générée aléatoirement. La clé
est chiffrée avec chaque clé publique associée à
pub_key_ids et chaque clé ainsi
encryptée est retournée dans env_keys.
Cela signifique que vous pouvez envoyez des données scellées
à plusieurs destinataires (en supposant que chacun ait recu la
clé publique). Chaque destinataire doit recevoir les données
encryptées et la clé d'enveloppe, qui a été
encryptée avec la clé publique du destinataire.
Exemple avec openssl_seal |
<?php // On suppose que $data contient les données à sceller // lecture de la clé publique pour chaque destinataire $fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r"); $cert = fread($fp, 8192); fclose($fp); $pk1 = openssl_get_publickey($cert); // pour le deuxième destinataire $fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r"); $cert = fread($fp, 8192); fclose($fp); $pk2 = openssl_get_publickey($cert); // scelle le message : seuls, les possessuers de $pk1 et $pk2 peuvent déchiffrer // le message $sealed avec les clés $ekeys[0] et $ekeys[1] (respectivement). openssl_seal($data, $sealed, $ekeys, array($pk1,$pk2)); // libère les clés de la mémoire openssl_free_key($pk1); openssl_free_key($pk2); ?>
|
Voir aussi
openssl_open.
|