Bonjour à tous,
J'ouvre un pdf à l'interieur d'une page Internet à l'aide de la librairie fpdf.
Voici le code permettant son ouverture :
Je souhaiterais ensuite simplement signer ce document pdf à l'aide d'un certificat installé sur le poste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,$_POST['texte']); $pdf->Output();
J'ai quelques pistes mais je ne sais pas comment faire. Voici quelques fonctions qui m'ont semblé importantes (pris de la doc php) :
Il est apparemment possible de signer les données dans le cas ou $data est une string.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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.
Partager