comment signer numériquement un fichier en PHP

J'ai fait un utilisateur table dans ma DB avec des colonnes différentes pour la tenue des utilisateurs d'informations. J'ai également ajouté deux colonnes public_key et private_key.
Lorsqu'un utilisateur s'inscrit, son info sera insérée dans la table. en plus je suis en utilisant:

//Create the keypair
$res=openssl_pkey_new();

//Get private key
openssl_pkey_export($res, $privatekey);

//Get public key
$publickey=openssl_pkey_get_details($res);
$publickey=$publickey["key"];

pour créer une clé aléatoire de la paire et le donner à l'utilisateur, de sorte que chaque utilisateur possède une paire de clés.
Je veux que mes utilisateurs ont numériques-signature de la capacité, de sorte que quand ils téléchargent un fichier de signature.

J'ai décidé de signer un exemple de fichier(msg.txt) tout d'abord pour voir si je peux et puis continuez. Il a l'air tout droit vers l'avant:

openssl_pkcs7_sign("msg.txt", "signed.txt", "signing_cert.pem",
array("private_key.pem", "mypassphrase"),
array()
);

Le problème, c'est: quels sont signing_cert.pem et private_key.pem ? J'ai collé ma clé publique générée dans signing_cert.pem et le secteur privé dans private_key.pem, mais je vois cette erreur:

Warning: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: error getting 
private key in /home/ofathian/public_html/msc/ebook/mine/assymetric-test.php 
on line 40

Tout avis est le bienvenue.

OriginalL'auteur Omidoo | 2012-03-14