Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Qulac  
#1 Оставлено : 9 сентября 2021 г. 15:50:03(UTC)
Qulac

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.09.2021(UTC)
Сообщений: 5

Вот раньше у меня вот этот код нормально работал:
Код:

  var str = "test test test test";

            //создаем хранилище сертификатов
            X509Store storeCurrentUser = new X509Store(StoreName.My, StoreLocation.CurrentUser);

            //открываем хранилище
            storeCurrentUser.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);

            //получаем колекцию сертификатов
            var colCurrentUser = storeCurrentUser.Certificates;

            //получаем отпечаток
            var thumbprin = "21deee0c345a1f7fe76b6dea8b3860ca5d12e999";

            //ищем сертификат по отпечатку
            var certificate2CollectionCurrentUser = colCurrentUser.Find(X509FindType.FindByThumbprint, thumbprin, false);

            var cer = certificate2CollectionCurrentUser[0];

            //преобразуем токен в массиф байт
            var codeBytes = Encoding.UTF8.GetBytes(str);

            //  Создаем объект ContentInfo по сообщению.
            //  Это необходимо для создания объекта SignedCms.
            ContentInfo contentInfo = new ContentInfo(codeBytes);

            // Создаем объект SignedCms 
            SignedCms signedCms = new SignedCms(contentInfo, true);

            // Определяем подписывающего, объектом CmsSigner.
            CmsSigner cmsSigner = new CmsSigner(cer);

            // Подписываем CMS/PKCS #7 сообение.
            signedCms.ComputeSignature(cmsSigner);

            // Кодируем CMS/PKCS #7 сообщение.
            var sign = signedCms.Encode();

            //конвертируем в Base64
            var result = Convert.ToBase64String(sign);

            storeCurrentUser.Close();

            Console.WriteLine(result);


Сейчас падает с ошибкой "System.Security.Cryptography.CryptographicException: Параметр задан неверно." на этой строке:

Код:

 // Подписываем CMS/PKCS #7 сообение.
 signedCms.ComputeSignature(cmsSigner);


Использую тестовый сертификат. Ни кто не знает в чем может быть проблема?
Offline Qulac  
#2 Оставлено : 9 сентября 2021 г. 20:41:49(UTC)
Qulac

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.09.2021(UTC)
Сообщений: 5

Проблема решена, vipnet мешался, удалил все заработало.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.