Anariel
Messages postés2Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention25 mai 2007
-
16 avril 2007 à 10:46
JeanMarcS
Messages postés4Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention11 octobre 2007
-
11 oct. 2007 à 10:34
Bonjour.
Je suis actuellement entrin d'essayer de développer une application qui enverrait des mails certifiés mais mon problème est que je ne trouve aucune info sur le net qui puisse m'aider dans la compréhension du mode de certification des mails...
Tout ce que je trouve ce sont des prints ecrans d'outlook... Ce qui est peut pratique quand on veut développer une application console.
En ce qui concerne la création, la gestion et l'envoi de mails je n'ai pas de soucis, mais je cherche des informations sur "Comment certifier un mail (sans Outlook...) ?"
Anariel
Messages postés2Date d'inscriptionmercredi 4 avril 2007StatutMembreDernière intervention25 mai 20071 25 mai 2007 à 08:50
Après des recherches sur MSDN Library voici ce que j'ai trouvé :
#region
Création du mail et remplissage des champs
// Création du mail à envoyer
MailMessage email =
new
MailMessage();
// Assignation de l'adresse de destinationemail.To.Add(
new
MailAddress(adresseDestination));
// Assignation de l'adresse de l'expéditeuremail.From =
new
MailAddress(adressePerso);
// Assignation de l'objet du mailemail.Subject = Objet;
// Remplissage des entêtes du mail
// Emettre un accuse de receptionemail.Headers.Add(
"Disposition-Notification-To", adressePerso);
//email.Headers.Add("Reply-To", adresseReponse);
// Déclaration du serveur SMTP
SmtpClient client =
new
SmtpClient(serveur);
#endregion
#region
Création et ajout de la signature électronique
// Création du certificat à partir d'un fichier certificat existant
X509Certificate2 certificate =
new
X509Certificate2(adresseCertificat, mdpCertificat);
string Message =
"\n " + Message
// Création de la signature du mail à partir du message contenu dans le corps
SignedCms signedCms =
new
SignedCms(
new
ContentInfo(
Encoding.ASCII.GetBytes(Message)));
CmsSigner signer =
new
CmsSigner(certificate);signedCms.ComputeSignature(signer);
// Ajout de la signature au mail
AlternateView av =
new
AlternateView(
new
MemoryStream(signedCms.Encode()),
"application/pkcs7-mime; smime-type=signed-data;name=smime.p7m");email.AlternateViews.Add(av);
#endregion
client.Send(email);
Si quelqu'un a le temps et le courage d'en faire une source à publier qu'il ne se gène pas pour reprendre la source.
Ce petit bout permet d'envoyer un mail signé par un certificat mais ne permet pas d'y ajouter une pièce jointe. Je travaille encore sur ce problème pour le résoudre