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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline 4eIIIupKo  
#1 Оставлено : 30 ноября 2017 г. 18:15:44(UTC)
4eIIIupKo

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.12.2016(UTC)
Сообщений: 114
Мужчина
Российская Федерация

Сказал «Спасибо»: 26 раз
Код:


SignerInfoEnumerator enumerator = signedCms.SignerInfos.GetEnumerator();
            while (enumerator.MoveNext())
            {
                SignerInfo current = enumerator.Current;
                if (current.Certificate != null)
                {
                    Console.WriteLine("FriendlyName: " + current.Certificate.FriendlyName); //?
                    Console.WriteLine("Handle: " + current.Certificate.Handle); //?
                    Console.WriteLine("HasPrivateKey: " + current.Certificate.HasPrivateKey); //?
                    Console.WriteLine("Issuer: " + current.Certificate.Issuer); //Издатель
                    Console.WriteLine("IssuerName: " + current.Certificate.IssuerName); //?
                    Console.WriteLine("NotAfter: " + current.Certificate.NotAfter); //Дата окончания действия сертификата
                    Console.WriteLine("NotBefore: " + current.Certificate.NotBefore); //Дата начала действия сертификата
                    Console.WriteLine("PrivateKey: " + current.Certificate.PrivateKey); //?
                    Console.WriteLine("PublicKey: " + current.Certificate.PublicKey); //?
                    Console.WriteLine("RawData: " + current.Certificate.RawData); //?
                    Console.WriteLine("SerialNumber: " + current.Certificate.SerialNumber); //Серийный номер
                    Console.WriteLine("Algorithm: " + current.Certificate.SignatureAlgorithm.FriendlyName); //Алгоритм
                    Console.WriteLine("Subject: " + current.Certificate.Subject); //Subject
                    Console.WriteLine("Thumbprint: " + current.Certificate.Thumbprint); //Отпечаток
                    Console.WriteLine("Version: " + current.Certificate.Version); //Версия сертификата формата X.509
                    Console.WriteLine("cert: " + current.Certificate.SubjectName.Name);
                }
                else
                    Console.WriteLine("error: подписи для подписавшего без сертификата...");
                try
                {
                    // Используем проверку подписи и стандартную 
                    // процедуру проверки сертификата: построение цепочки, 
                    // проверку цепочки, и необходимых расширений для данного 
                    // сертификата.
                    current.CheckSignature(false);
                    Console.WriteLine("result: ok");
                }
                catch (System.Security.Cryptography.CryptographicException e)
                {
                    Console.WriteLine("error: " + e.Message);
                    valid = false;
                }
            }


Почему-то часть ЭЦП проверяется и все отлично! А часть возвращаются с ошибкой! Причем строка пустая! Кто сталкивался и как реализовывал проверку эцп?
Offline Андрей Писарев  
#2 Оставлено : 30 ноября 2017 г. 18:34:30(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,342
Мужчина
Российская Федерация

Сказал «Спасибо»: 550 раз
Поблагодарили: 2212 раз в 1727 постах
На какой строке проблема?
Где примеры подписей?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#3 Оставлено : 30 ноября 2017 г. 18:36:02(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,342
Мужчина
Российская Федерация

Сказал «Спасибо»: 550 раз
Поблагодарили: 2212 раз в 1727 постах
а в catch может быть только CryptographicException ?
Техническую поддержку оказываем тут
Наша база знаний
Offline 4eIIIupKo  
#4 Оставлено : 30 ноября 2017 г. 18:51:28(UTC)
4eIIIupKo

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.12.2016(UTC)
Сообщений: 114
Мужчина
Российская Федерация

Сказал «Спасибо»: 26 раз
Автор: Андрей * Перейти к цитате
а в catch может быть только CryptographicException ?


У меня в catch только он. А вот с примерами проблема! Человек подписывает, мой скрипт возвращает ЭЦП неверна (т. к. в результате есть строка содержащая error )! Возвращает все что в есть в скрипте со строкой error! Ну если я там не указываю файлы например, то возвращает мой catch что не указан файл! А это единственная строка где она мной не идентифицируется! Точнее выводится переменной!
Offline 4eIIIupKo  
#5 Оставлено : 30 ноября 2017 г. 18:54:56(UTC)
4eIIIupKo

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.12.2016(UTC)
Сообщений: 114
Мужчина
Российская Федерация

Сказал «Спасибо»: 26 раз
Хотя нужно время! Походу я тормоз)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.