diff --git a/TD/TD2/a.php b/TD/TD2/a.php index f1dc284..b919b7f 100644 --- a/TD/TD2/a.php +++ b/TD/TD2/a.php @@ -1,6 +1,6 @@ "FR", @@ -12,12 +12,14 @@ $dn = array( "emailAddress" => "iut@univ.fr" ); -$pk = openssl_pkey_new($config); -$req = openssl_csr_new($dn, $pk, $config); -$certif = openssl_csr_sign($req, null, $pk, (365*3), $config); -$exportCertif = openssl_x509_export_to_file($certif, "./a/certificat"); -$exportReq = openssl_csr_export_to_file($req, "./a/requete"); -$exportKey = openssl_pkey_export_to_file($pk, "./a/clePrivee", null, $config); + //on créé un tableau de données pour la création du certificat + +$pk = openssl_pkey_new($config); //création de clé privée +$req = openssl_csr_new($dn, $pk, $config); // création d'un CSR +$certif = openssl_csr_sign($req, null, $pk, (365*3), $config); //création d'un certificat valide pour 3 ans +$exportCertif = openssl_x509_export_to_file($certif, "./a/certificat"); //exportation certificat +$exportReq = openssl_csr_export_to_file($req, "./a/requete"); //exportation CSR +$exportKey = openssl_pkey_export_to_file($pk, "./a/clePrivee", null, $config); //exportation cléPrivée echo "Certificat exporté
"; echo "Requête exportée
"; diff --git a/TD/TD2/b.php b/TD/TD2/b.php index 8e7e7fc..d9cc04c 100644 --- a/TD/TD2/b.php +++ b/TD/TD2/b.php @@ -1,6 +1,6 @@ $_POST["Pays"], "stateOrProvinceName" => $_POST["Département"], @@ -18,13 +18,13 @@ if( isset($_POST["Pays"]) && $_POST["Pays"] != '' && "organizationalUnitName" => $_POST["Unite"], "commonName" => '$_POST["Nom"]' . ' ' .'$_POST["Prenom"]', "emailAddress" => $_POST["Email"] - ); - $pk = openssl_pkey_new($config); - $req = openssl_csr_new($dn, $pk, $config); - $certif = openssl_csr_sign($req, null, $pk, (365), $config); - $exportCertif = openssl_x509_export_to_file($certif, "./b/certificat"); - $exportReq = openssl_csr_export_to_file($req, "./b/requete"); - $exportKey = openssl_pkey_export_to_file($pk, "./b/clePrivee", null, $config); + ); //on créé un tableau de données pour la création du certificat à partir des données du formulatire + $pk = openssl_pkey_new($config);//création de clé privée + $req = openssl_csr_new($dn, $pk, $config);// création d'un CSR + $certif = openssl_csr_sign($req, null, $pk, (365), $config); //création d'un certificat valide pour 1 an + $exportCertif = openssl_x509_export_to_file($certif, "./b/certificat"); //exportation certificat + $exportReq = openssl_csr_export_to_file($req, "./b/requete"); //exportation CSR + $exportKey = openssl_pkey_export_to_file($pk, "./b/clePrivee", null, $config); //exportation cléPrivée echo "Certificat exporté
"; echo "Requête exportée
"; diff --git a/TD/TD2/c.php b/TD/TD2/c.php index 5936b1f..25e9140 100644 --- a/TD/TD2/c.php +++ b/TD/TD2/c.php @@ -6,7 +6,9 @@ $ret = ""; $deret = ""; if(isset($_POST["Code"]) && $_POST["Code"] != '') { openssl_public_encrypt($_POST["Code"], $ret, openssl_csr_get_public_key(file_get_contents("./b/requete"))); + //on crypte le texte (données formulaire | variable dans laquelle stocker les données cryptées | clé publique pour crypter) openssl_private_decrypt($ret,$deret,file_get_contents("./b/clePrivee")); + //on décrypte les données (données cryptées | variable dans laquelle stocker les données déchiffrées | clé privée à utiliser) } diff --git a/TD/TD2/d.php b/TD/TD2/d.php index d7ab507..9fc855b 100644 --- a/TD/TD2/d.php +++ b/TD/TD2/d.php @@ -1,15 +1,37 @@ getFilename(); + + $pathToSave = $uploadDirectory.$nouveauFichier; + + move_uploaded_file($_FILES['File']['tmp_name'], $pathToSave); + + openssl_sign(file_get_contents($pathToSave), $export, file_get_contents("./b/clePrivee")); + file_put_contents("./d/signature", $export); + $dl = true; + } +} ?> -
-
- + +
+
-

Texte chiffré :

-

Texte déchiffré :

+ + Télécharger signature' + .'Télécharger'; + } + ?> \ No newline at end of file diff --git a/TD/TD2/d/Sans titre.png.png b/TD/TD2/d/Sans titre.png.png new file mode 100644 index 0000000..b84ae30 Binary files /dev/null and b/TD/TD2/d/Sans titre.png.png differ diff --git a/TD/TD2/d/signature b/TD/TD2/d/signature new file mode 100644 index 0000000..aaa2b95 Binary files /dev/null and b/TD/TD2/d/signature differ diff --git a/TD/TD2/e.php b/TD/TD2/e.php new file mode 100644 index 0000000..86b4643 --- /dev/null +++ b/TD/TD2/e.php @@ -0,0 +1,46 @@ +getFilename(); + $nouveauFichierS = $fileInfoS->getFilename(); + + $pathToSaveF = $uploadDirectory.$nouveauFichierF; + $pathToSaveS = $uploadDirectory.$nouveauFichierS; + + move_uploaded_file($_FILES['File']['tmp_name'], $pathToSaveF); + move_uploaded_file($_FILES['Signature']['tmp_name'], $pathToSaveS); + + $resCheck = openssl_verify(file_get_contents($pathToSaveF),file_get_contents($pathToSaveS),openssl_csr_get_public_key(file_get_contents("./b/requete"))); + + $ok = true; + } +} + +?> + + +
+
+
+ +
+ + Document intègre : ' . $resCheck . ''; + } else { + echo ''; + } + ?> + \ No newline at end of file diff --git a/TD/TD2/e/Sans titre.png b/TD/TD2/e/Sans titre.png new file mode 100644 index 0000000..b84ae30 Binary files /dev/null and b/TD/TD2/e/Sans titre.png differ diff --git a/TD/TD2/e/image0.gif b/TD/TD2/e/image0.gif new file mode 100644 index 0000000..20feee8 Binary files /dev/null and b/TD/TD2/e/image0.gif differ diff --git a/TD/TD2/e/signature b/TD/TD2/e/signature new file mode 100644 index 0000000..aaa2b95 Binary files /dev/null and b/TD/TD2/e/signature differ