Crypter un mail

Signaler
Messages postés
264
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
12 juin 2013
-
Messages postés
4
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
-
Bonjour,

Mon but est d'envoyer un mail crypté (via le certificat) de plus avec une piece attaché. J'ai un problem pour recuperer la piece jointe. Je dois utiliser l'application "p7mViewer" pour voir ma le contenu de ma piece jointe. Par compte, lorsque j'envoie manuellment le mail (via outlook express), la piece jointe est automatiquement decrypter.

voici mon code
             // creation du mail
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("from@xxxxx");

            msg.To.Add(new MailAddress("To@xxxxx"));

            msg.Subject = "Test Certificat - " + DateTime.Now.ToString();

             // mon certificat
            X509Certificate2 myCertificat = new X509Certificate2(tBoxFileName.Text, "azerty");

             // cryptage de ma piece jointe
            System.IO.Stream myFile = null;
            myFile = new System.IO.FileStream(@"D:\Test\abcd.Txt", System.IO.FileMode.Open, System.IO.FileAccess.Read);

            byte[] data = new byte[myFile.Length];
            myFile.Read(data, 0, (int)myFile.Length);

            ContentInfo contentInfoCrypt = new ContentInfo(data);
            EnvelopedCms envelopedCms = new EnvelopedCms(contentInfoCrypt);
            CmsRecipient recip1 = new CmsRecipient(SubjectIdentifierType.IssuerAndSerialNumber, myCertificat);
            envelopedCms.Encrypt(recip1);
            envelopedCms.Certificates.Add(myCertificat);
            byte[] encryptbytes = envelopedCms.Encode();

            MemoryStream mss = new MemoryStream(encryptbytes);
            AlternateView avv = new AlternateView(mss, "application/x-pkcs7-mime; smime-type=enveloped-data;name=smime.p7m");
            msg.AlternateViews.Add(avv);

             // Envoie du mail
           SmtpClient client = new SmtpClient("mailgw.netvision.net.il");
            client.UseDefaultCredentials = true;
            client.Send(msg);

j'utilise Visual 2005 sous WinXP Sp2

Merci de vos reponse

2 réponses

Messages postés
1
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
10 mai 2007

salut,
tout d'abord merci pour ton code il m'a bien aidé ;)

perso je suis passé par une piece jointe :

ContentType ct = new ContentType();
    ct.MediaType = "application/pkcs7-mime";
    ct.Name = "smime.p7m";
    // Create the attachment.
    Attachment data = new Attachment(mss, ct);
    // Add the attachment to the message.
    msg.Attachments.Add(data);
Messages postés
4
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007

Bonjour,

C'est exactement ce que je veux faire aujourd'hui.
Récupérer la clé publique d'un certificat qui m'a été fournit par un destinataire puis crypter un fichier à l'aide de cette clé publique.
Pouvez-vous me diriger vers des pistes car les exemples de MSD montrent comment créer une clé privée et publique mais ne montrent pas comment utiliser la clé publique d'un certificat.
Merci pour vos réponses.

Jean-Marc S.