none
Проблема с проверкой электронной подписи RRS feed

  • Общие обсуждения

  • Письмо e-mail зашифровано и подписано CryptoPro. OutLook Express с ним работает нормально.
    Во вложении - один файл smime.p7m. Считываю и обрабатываю его:

    // data - зашифрованные данные, файл smime.p7m
    // dec - дешифрованные
        public static bool Decrypt(byte[] data, out byte[] dec)
        {
          EnvelopedCms envelopedCms = new EnvelopedCms();
          try
          {
            envelopedCms.Decode(data);
            envelopedCms.Decrypt();
            dec = envelopedCms.ContentInfo.Content;
            ContentInfo contentInfo = new ContentInfo(dec);
            SignedCms signedCms = new SignedCms(contentInfo, true);
    
            signedCms.CheckSignature(true); // тут возникает ошибка Сообщение CMS не подписано
    
            foreach (SignerInfo signerInfo in signedCms.SignerInfos)
            {
              signedCms.RemoveSignature(signerInfo);
            }
            return true;
          }
          catch (CryptographicException)
          {
             ...
            dec = null;
            return false;
          }
          catch (Exception ex)
          {
             ...
          }
        }

    Дешифруется вроде нормально, к дискете обращается, ошибок не возникает, а подписей не видит.

    В чем я неправ?
    10 июня 2011 г. 9:00

Все ответы

  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме


    Для связи [mail]
    18 июня 2011 г. 6:00
    Модератор