Bonjour ,
Je débute en Java et je dois ecrire un code devant envoyé un mail (avec pièce jointe) chiffré avec la clé publique du destinataire (contenu dans son certificat X509).
J'ai trouvé la librairie Bouncy Castle qui fournit des classe comme Cms EnveloppedDataGenerator qui permettent de générer une clé secrète qui va chiffrée le mail et ensuite chiffrer là clé secrète avec la clé publique du destinataire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 InputStream ContenuCertif = new FileInputStream("certificat.der"); CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509Certificate cert = (X509Certificate)cf.generateCertificate(ContenuCertif);
J'ai aussi trouvé Java mail qui permet d'envoyer des mail avec pièce jointe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CMSEnvelopedDataGenerator genCMS = new CMSEnvelopedDataGenerator(); // La clé publique de ce certificat servira à chiffrer la clé symétrique genCMS.addKeyTransRecipient((X509Certificate)cert); // Choix de l'algorithme à clé symétrique pour chiffrer le document. String algorithm = CMSEnvelopedDataGenerator.DES_EDE3_CBC; CMSEnvelopedData envData = genCMS.generate( new CMSProcessableByteArray(buffer), algorithm, "BC");
mais je n'arrive pas à coder l'envoi d'un mail chiffré ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DataSource source = new FileDataSource("fichierAEnvoyer"); DataHandler piecejointe=new DataHandler(source); partieavecPieceJointe.setDataHandler(piecejointe);
Partager