/// <summary> /// Генерирует строку зашифрованный текст&защифрованный ключ&вектор&ЭЦП /// </summary> /// <param name="msg"></param> /// <returns></returns> public static MimeMessage GenEncryptedMsg(MimeMessage msg, string body, List <string> attachments, RSABookInfo book) { // encryptedMsg – конечная зашифрованная строка var encryptedMsg = ""; var mailMsg = msg; var tdesKeys = TripleDES.GenKey(); var tdesTxt = Convert.ToBase64String(TripleDES.Encrypt(body, tdesKeys[0], tdesKeys[1])); var encryptedKey = Convert.ToBase64String(RSA.Encrypt(tdesKeys[0], book.EmailPublic)); var iv = Convert.ToBase64String(tdesKeys[1]); var builder = new BodyBuilder(); encryptedMsg += tdesTxt + "&" + encryptedKey + "&" + iv; // Подпись ЭЦП при помощи DSA //encryptedMsg += DSA.CreateSign(encryptedMsg, book.OwnPrivateECP); builder.TextBody = encryptedMsg; builder.HtmlBody = encryptedMsg; foreach (var item in attachments) { builder.Attachments.Add(item); } mailMsg.Body = builder.ToMessageBody(); return(mailMsg); }