[OpenSSL] Signer un PDF ouvert dans un navigateur
Bonjour à tous,
J'ouvre un pdf à l'interieur d'une page Internet à l'aide de la librairie fpdf.
Voici le code permettant son ouverture :
Code:
1 2 3 4 5
| $pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,$_POST['texte']);
$pdf->Output(); |
Je souhaiterais ensuite simplement signer ce document pdf à l'aide d'un certificat installé sur le poste.
J'ai quelques pistes mais je ne sais pas comment faire. Voici quelques fonctions qui m'ont semblé importantes (pris de la doc php) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| //tableau contenant les infos du certificat
$dn = array(
"countryName" => "FR",
"stateOrProvinceName" => "Bouche-du-Rhone",
"localityName" => "Marseille",
"organizationName" => "Home server",
"organizationalUnitName" => "Home Server",
"commonName" => "localhost",
"emailAddress" => "an.favier@laposte.net"
);
// Génère les clés privée et publique
$privkey = openssl_pkey_new();
// Génère la requête de signature de certificat
$csr = openssl_csr_new($dn, $privkey);
// Cette commande crée une certificat auto chiffré
// $sscert = openssl_csr_sign($csr, null, $privkey, 365);
// On suppose que $data contient les données à signer
// lecture de la clé publique pour chaque destinataire
$fp = fopen("ssl/client_pvk.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);
// calcule de la signature
openssl_sign($data, $signature, $pkeyid);
// libère les clés de la mémoire
openssl_free_key($pkeyid); |
Il est apparemment possible de signer les données dans le cas ou $data est une string.
Est ce que quelq'un pourrait me dire comment signer numeriquement le pdf ?
Merci d'avance.
P.S : j'ai un server Wamp avec apache 2.2.8 et PHP 5.2.6. J'ai importé le dll dans system32 et activé l'extension ssl dans PHP. Les fonctions openssl sont donc bien activées.