Création d'une application de signature et de chiffrement

fadenca Messages postés 1 Date d'inscription samedi 16 juillet 2016 Statut Membre Dernière intervention 16 juillet 2016 - 16 juil. 2016 à 15:26
 fadenca - 21 juil. 2016 à 12:00
Bonjour,
j'ai également pour tache dans le cadre d'un projet de mettre en place une application qui va signer
et chiffrer les documents. je n'ai pas de connaissances assez poussée en programmation ( java ). j'ai
besoin de l'aide des personnes ayant déja eu a traiter un thème semblable s'il vous plait...
merci.

6 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
18 juil. 2016 à 09:26
Salut,

Tu butes à quel niveau ?

0
merci Twinusts d'avoir pris la peine de repondre....la premiere des choses j'aimerai qu'on m'aide a avoir une PKI opensource et par la suite qu'on me montre comment faire interagir cette PKI avec l'application de signature que je suis entrain de mettre sur pieds...merci
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
19 juil. 2016 à 08:17
Salut,

Pour ce qui est de la génération des clés tu peux le faire avec openssl ici

Et pour le support des fichiers PKI en java voir la doc

0
merci Twinuts,
je reviens avec un autre probleme, jai trouvé un code pour signer et sa le fait bien. maintenant le probleme cest que c'est static donc a chaque fois pour appliquer la signature je dois aller changer le nom du document dans le code et mettre le doc a signer dans le dossier qui contient le code souce. j'ai besoin qu'on m'aide a faire en sorte que je puisse charger un document a travers le JFileChooser de Net beans et que le document chargé soit prise en conte quelqu'en soit son nom. svp
Merci

NB: Je ne suis pas programmeur les gars, raison pour laquelle mes question et preoccupation sont un peu betes.

voici le code en question

package sign_pdf ;
 
import java.io.*;
import java.security.*;
import java.security.cert.Certificate;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;


/**
 *


* @author Work Post BILLE

*/
public class Sign_pdf {
/**


* Nom du document PDF généré non signé

*/
 static String fname = ("HelloWorld.pdf") ;
 
 /**


* Nom du document PDF généré signé

*/
 static String fnameS = "HelloWorld_sign.pdf" ;
 
    /**


* @param args the command line arguments

*/
    public static void main(String[] args) {
        
        // TODO code application logic here
   try {
   Sign_pdf.buildPDF() ;
   Sign_pdf.signPdf() ;
  }
  catch(Exception e) { }
 }
 public static void buildPDF() {
 
  // Creation du document
  Document document = new Document();
 
  try {
   // Creation du "writer" vers le doc
   // directement vers un fichier
   PdfWriter.getInstance(document,
     new FileOutputStream(fname));
   // Ouverture du document
   document.open();
 
   // Ecriture des datas
   document.add(new Paragraph("Hello World"));
 
  } catch (DocumentException de) {
   System.err.println(de.getMessage());
  } catch (IOException ioe) {
   System.err.println(ioe.getMessage());
  }
  // Fermeture du document
  document.close();}
 public static final boolean signPdf()
   throws IOException, DocumentException, Exception
 {
  // Vous devez preciser ici le chemin d'acces a votre clef pkcs12
  String fileKey          = "michael.p12" ;
  // et ici sa "passPhrase"
  String fileKeyPassword  = "fossouo" ;
 
  try {
   // Creation d'un KeyStore
   KeyStore ks = KeyStore.getInstance("pkcs12");
   // Chargement du certificat p12 dans el magasin
   ks.load(new FileInputStream(fileKey), fileKeyPassword.toCharArray());
   String alias = (String)ks.aliases().nextElement();
   // Recupération de la clef privée
   PrivateKey key = (PrivateKey)ks.getKey(alias, fileKeyPassword.toCharArray());
   // et de la chaine de certificats
   Certificate[] chain = ks.getCertificateChain(alias);
 
   // Lecture du document source
   PdfReader pdfReader = new PdfReader((new File(fname)).getAbsolutePath());
   File outputFile = new File(fnameS);
   // Creation du tampon de signature
   PdfStamper pdfStamper;
   pdfStamper = PdfStamper.createSignature(pdfReader, null, '\0', outputFile);
   PdfSignatureAppearance sap = pdfStamper.getSignatureAppearance();
   sap.setCrypto(key, chain, null, PdfSignatureAppearance.SELF_SIGNED);
   sap.setReason("Test SignPDF berthou.mc");
   sap.setLocation("");
   // Position du tampon sur la page (ici en bas a gauche page 1)
   sap.setVisibleSignature(new Rectangle(10, 10, 50, 30), 1, "sign_rbl");
 
   pdfStamper.setFormFlattening(true);
   pdfStamper.close();
 
   return true;
  }
  catch (Exception key) {
   throw new Exception(key);
  }
 }
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
21 juil. 2016 à 11:57
Salut,

Là je pense qu'il y a méprise.
Ici, tu es sur un forum d'entraide pour développeurs, est pas sur le forum d'une SSII.
Nous ne donnons pas de code sur demande et ne faisons en aucun cas le travail pour les autres.

Le mieux reste de te mettre au code, ou bien de payer une prestation (privée, SSII, autre ; via le site de ton choix) pour que tu puisses avoir un soft qui correspond à ton besoin.



0
ah, merci
0
Rejoignez-nous