Статус: Активный участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
В КриптоПро Sharpei усовершенствованная ЭЦП не реализована.
Для этой задачи можно использовать средства КриптоПро ЭЦП SDK: - COM-интерфейс - поменьше возможностей и довольно просто использовать из .NET; - C-интерфейс - полный набор средств работы с УЭЦП, посложнее использовать из .NET. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 02.12.2008(UTC) Сообщений: 39
|
Смирнов написал:В КриптоПро Sharpei усовершенствованная ЭЦП не реализована.
Для этой задачи можно использовать средства КриптоПро ЭЦП SDK: - COM-интерфейс - поменьше возможностей и довольно просто использовать из .NET; - C-интерфейс - полный набор средств работы с УЭЦП, посложнее использовать из .NET. :) А планируется реализация?
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
А зачем, если есть COM-интерфейс? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.08.2008(UTC) Сообщений: 204 Сказал «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
А как сделать асинхронный веб сервис по дополнению подписи до усовершенствованной? Сейчас все запросы становятся в очередь и выполняются последовательно.
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
Можно использовать C-интерфейс. Можно попросить нас доработать COM-интерфейс, чтобы его классы стали free-threaded. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.08.2008(UTC) Сообщений: 204 Сказал «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Смирнов написал:Можно использовать C-интерфейс. Можно попросить нас доработать COM-интерфейс, чтобы его классы стали free-threaded. было бы здорово, если бы Вы сделали COM интерфейс free-threaded. Просто делали запрос к Вам на эту тему, сказали что у Вас и так никаких блокировок не стоит.
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 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, но если такое приложение одно, и оно само обеспечивает строгую последовательность вызовов к одному экземпляру объекта и всем другим указателям на интерфейсы, полученным от этого объекта, то можно так поступить. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.08.2008(UTC) Сообщений: 204 Сказал «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Смирнов написал: Второй вариант обхода: Можно поправить регистрацию наших объектов, чтобы они создавались в MTA. Это не безопасно по отношению к другим приложениям, работающим на данном компьютере с CAdESCOM, но если такое приложение одно, и оно само обеспечивает строгую последовательность вызовов к одному экземпляру объекта и всем другим указателям на интерфейсы, полученным от этого объекта, то можно так поступить.
Каким образом можно поправить регистрацию?
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 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 |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close