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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline gu4ara  
#1 Оставлено : 18 января 2013 г. 14:35:07(UTC)
gu4ara

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

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

Сказал(а) «Спасибо»: 1 раз
Ошибка "Неизвестный криптографический алгоритм".

Возникает при добавления подписи из реестра к подписи со смарт-карты. Такая же ошибка возникает если сначала подписать со смарт-карты, а затем добавить подпись из реестра.

Если же подписывать только из реестра или только со смарт карт, то ошибка не возникает.


Методы создания и добавления подписи:
Код:

//создание подписи
        public byte[] Sign(byte[] body)
        {
            X509Certificate2 signerCert = GetSignerCert();
            if (signerCert == null)
                return null;
            var contentInfo = new ContentInfo(body);
            
            var signedCms = new SignedCms(contentInfo, true);

            var cmsSigner = new CmsSigner(signerCert);
            
            try
            {
                signedCms.ComputeSignature(cmsSigner, false);
            }
            catch (CryptographicException crex)
            {

            }
            finally
            {
                SafeClose();
            }
                        
            // Кодируем CMS/PKCS #7 подпись сообщения.
            return signedCms.Encode();
        }

        

Отредактировано пользователем 18 января 2013 г. 14:45:05(UTC)  | Причина: правка кода

Offline gu4ara  
#2 Оставлено : 18 января 2013 г. 14:37:52(UTC)
gu4ara

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

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

Сказал(а) «Спасибо»: 1 раз
Почему то не смог в одном теге указать второй метод, метод добавления подписи ниже:
Код:

        public byte[] AddSign(byte[] src, byte[] msg)
        {
            X509Certificate2 signerCert = GetSignerCert();
            if (signerCert == null)
                return null;
            ContentInfo contentInfo = new ContentInfo(src);

            SignedCms signedCms = new SignedCms(contentInfo, true);

            signedCms.Decode(msg);

            CmsSigner cmsSigner = new CmsSigner(signerCert);
            try
            {
                signedCms.ComputeSignature(cmsSigner);
            } 
            catch (CryptographicException crex)
            {

            }
            finally
            {
                SafeClose();
            }
            return signedCms.Encode();
            
        }

Отредактировано пользователем 18 января 2013 г. 14:38:44(UTC)  | Причина: правка кода

Offline Андрей Писарев  
#3 Оставлено : 18 января 2013 г. 14:39:21(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Автор: gu4ara Перейти к цитате
Ошибка возникает при добавления подписи из реестра к подписи со смарт-карты. Такая же ошибка возникает если сначала подписать со смарт-карты, а затем добавить подпись из реестра.

Если же подписывать только из реестра или только со смарт карт, то ошибка не возникает.


Методы создания и добавления подписи:
Код:

//создание подписи
        public byte[] Sign(byte[] body)
        {
            X509Certificate2 signerCert = GetSignerCert();
            if (signerCert == null)
                return null;
            var contentInfo = new ContentInfo(body);
            
            var signedCms = new SignedCms(contentInfo, true);

            var cmsSigner = new CmsSigner(signerCert);
            
            try
            {
                signedCms.ComputeSignature(cmsSigner, false);
            }
            catch (CryptographicException crex)
            {

            }
            finally
            {
                SafeClose();
            }
                        
            // Кодируем CMS/PKCS #7 подпись сообщения.
            return signedCms.Encode();
        }

        



Какая ошибка?
Техническую поддержку оказываем тут
Наша база знаний
Offline gu4ara  
#4 Оставлено : 18 января 2013 г. 14:44:03(UTC)
gu4ara

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Андрей * Перейти к цитате

Какая ошибка?


"Неизвестный криптографический алгоритм"

PS: Самое главное забыл добавить)

Offline Андрей Писарев  
#5 Оставлено : 18 января 2013 г. 15:13:58(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Автор: gu4ara Перейти к цитате
Автор: Андрей * Перейти к цитате

Какая ошибка?


"Неизвестный криптографический алгоритм"

PS: Самое главное забыл добавить)



КриптоПро .NET и CSP какие версии?
Техническую поддержку оказываем тут
Наша база знаний
Offline gu4ara  
#6 Оставлено : 18 января 2013 г. 15:19:23(UTC)
gu4ara

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Андрей * Перейти к цитате


КриптоПро .NET и CSP какие версии?



КриптоПро версия 3.6.6497

КриптоПро.NET - пока используется Sharpei, версия 1.4.4087.0
Offline Андрей Писарев  
#7 Оставлено : 18 января 2013 г. 15:32:59(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Автор: gu4ara Перейти к цитате
Автор: Андрей * Перейти к цитате

Какая ошибка?


"Неизвестный криптографический алгоритм"




В сертификатах - открытый ключ по ГОСТ Р 34.10-2001?
Техническую поддержку оказываем тут
Наша база знаний
Offline gu4ara  
#8 Оставлено : 18 января 2013 г. 15:45:18(UTC)
gu4ara

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

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

Сказал(а) «Спасибо»: 1 раз
Первый sha1RSA
Второй, на котором возникает ошибка ГОСТ Р 34.10-2001

соответственно если сначала подписывать ГОСТом, а потом sha1RSA, то ошибка возникает на sha1RSA
Offline Андрей Писарев  
#9 Оставлено : 18 января 2013 г. 15:46:08(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Автор: gu4ara Перейти к цитате
Первый sha1RSA
Второй, на котором возникает ошибка ГОСТ Р 34.10-2001

соответственно если сначала подписывать ГОСТом, а потом sha1RSA, то ошибка возникает на sha1RSA


Нельзя смешивать алгоритмы подписи...
храните тогда отдельно файлы ЭЦП.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
gu4ara оставлено 18.01.2013(UTC)
Offline Андрей Писарев  
#10 Оставлено : 18 января 2013 г. 15:48:38(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Можно получить тестовый сертификат в тестовом УЦ КриптоПРО
http://www.cryptopro.ru/certsrv/
p.s. открывать в IE
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.