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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline dmitriy.spolokhov  
#1 Оставлено : 6 декабря 2010 г. 21:16:17(UTC)
dmitriy.spolokhov

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

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

Создаю подпись с помощью след. кода:

X509Store oStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
oStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection oCerts = (X509Certificate2Collection)oStore.Certificates;
X509Certificate2Collection oSelectCerts = X509Certificate2UI.SelectFromCollection(oCerts, "Выбор сертификата", "Выберите один из личных сертификатов", X509SelectionFlag.SingleSelection);
X509Certificate2 oCert = oSelectCerts[0];
Gost3410CryptoServiceProvider Gost = new Gost3410CryptoServiceProvider(new CspParameters(75,"Crypto-Pro GOST R 34.10-2001 KC1 CSP"));
Gost3411CryptoServiceProvider Gost2 = new Gost3411CryptoServiceProvider();
byte[] HashValue = Gost2.ComputeHash(Encoding.UTF8.GetBytes("Hello, world!"));
GostSignatureFormatter GostFormatter = new GostSignatureFormatter((Gost3410CryptoServiceProvider)Gost);
GostFormatter.SetKey(oCert.PrivateKey);
GostFormatter.SetHashAlgorithm("Gost3411");
byte[] SignedHashValue = GostFormatter.CreateSignature(HashValue);

Подпись создается простая и успешно проверяется. Только она ничего в себе не содержит, даже сертификат, с помощью которого была создана подпись.

Как создать усовершенствованную подпись либо дополнить простую до усовершенствованной?

Отредактировано пользователем 6 декабря 2010 г. 21:17:24(UTC)  | Причина: Не указана

Offline Павел Смирнов  
#2 Оставлено : 7 декабря 2010 г. 0:22:56(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
В КриптоПро Sharpei усовершенствованная ЭЦП не реализована.

Для этой задачи можно использовать средства КриптоПро ЭЦП SDK:
- COM-интерфейс - поменьше возможностей и довольно просто использовать из .NET;
- C-интерфейс - полный набор средств работы с УЭЦП, посложнее использовать из .NET.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline dmitriy.spolokhov  
#3 Оставлено : 7 декабря 2010 г. 12:06:38(UTC)
dmitriy.spolokhov

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

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

Смирнов написал:
В КриптоПро Sharpei усовершенствованная ЭЦП не реализована.

Для этой задачи можно использовать средства КриптоПро ЭЦП SDK:
- COM-интерфейс - поменьше возможностей и довольно просто использовать из .NET;
- C-интерфейс - полный набор средств работы с УЭЦП, посложнее использовать из .NET.


:) А планируется реализация?
Offline Павел Смирнов  
#4 Оставлено : 7 декабря 2010 г. 12:08:00(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
А зачем, если есть COM-интерфейс?
Техническую поддержку оказываем тут.
Наша база знаний.
Offline codegen  
#5 Оставлено : 7 декабря 2010 г. 12:13:34(UTC)
codegen

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

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

Сказал «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
А как сделать асинхронный веб сервис по дополнению подписи до усовершенствованной?
Сейчас все запросы становятся в очередь и выполняются последовательно.
Offline Павел Смирнов  
#6 Оставлено : 7 декабря 2010 г. 12:16:29(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Можно использовать C-интерфейс. Можно попросить нас доработать COM-интерфейс, чтобы его классы стали free-threaded.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline codegen  
#7 Оставлено : 7 декабря 2010 г. 12:20:31(UTC)
codegen

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

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

Сказал «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Смирнов написал:
Можно использовать C-интерфейс. Можно попросить нас доработать COM-интерфейс, чтобы его классы стали free-threaded.


было бы здорово, если бы Вы сделали COM интерфейс free-threaded. Просто делали запрос к Вам на эту тему, сказали что у Вас и так никаких блокировок не стоит.
Offline Павел Смирнов  
#8 Оставлено : 8 декабря 2010 г. 18:12:59(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Действительно, если много MTA-потоков создают STA-объекты, то все эти STA-объекты будут созданы в одном (!) STA-потоке и, соответственно, все вызовы ко всем этим объектам будут производиться последовательно!

Не думал, что COM такой глупый. Ну что же, доработку CAdESCOM до free-threaded запланируем.

Пока могу рекомендовать в вашем веб-сервисе сделать так: http://msdn.microsoft.com/en-us/magazine/cc163544.aspx.

Второй вариант обхода:
Можно поправить регистрацию наших объектов, чтобы они создавались в MTA. Это не безопасно по отношению к другим приложениям, работающим на данном компьютере с CAdESCOM, но если такое приложение одно, и оно само обеспечивает строгую последовательность вызовов к одному экземпляру объекта и всем другим указателям на интерфейсы, полученным от этого объекта, то можно так поступить.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline codegen  
#9 Оставлено : 9 декабря 2010 г. 19:32:46(UTC)
codegen

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

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

Сказал «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Смирнов написал:

Второй вариант обхода:
Можно поправить регистрацию наших объектов, чтобы они создавались в MTA. Это не безопасно по отношению к другим приложениям, работающим на данном компьютере с CAdESCOM, но если такое приложение одно, и оно само обеспечивает строгую последовательность вызовов к одному экземпляру объекта и всем другим указателям на интерфейсы, полученным от этого объекта, то можно так поступить.


Каким образом можно поправить регистрацию?
Offline Павел Смирнов  
#10 Оставлено : 10 декабря 2010 г. 13:18:52(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
codegen написал:
Каким образом можно поправить регистрацию?

HKCR\CLSID\{1264A46A-FDB8-43a3-AEE3-00E1684C98E9}\InprocServer32 ThreadingModel Both
HKCR\CLSID\{5881EDE0-0497-4E69-AAD2-4FA2AF6401BB}\InprocServer32 ThreadingModel Both
HKCR\CLSID\{A3C2F1D9-28B8-4E44-ABF0-2301981195FC}\InprocServer32 ThreadingModel Both
HKCR\CLSID\{A9FAA9E1-4788-4707-8F35-456061F1B0E1}\InprocServer32 ThreadingModel Both
HKCR\CLSID\{FE98A77F-7D50-4210-AED4-5B2AE2EDAEF1}\InprocServer32 ThreadingModel Both
Техническую поддержку оказываем тут.
Наша база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.