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