Статус: Новичок
Группы: Участники
Зарегистрирован: 18.02.2010(UTC) Сообщений: 2 Откуда: Спб
|
День добрый! Поставлена следующая задача: 1. Есть некоторые документы, часть полей которых требуется подписать с помощью ЭЦП. 2. Документы ходят по документообороту между удаленными узлами. 3. Документ подписывается на стороне клиента (отправитель, сертификат выдается общим ЦС, E-Token) , подпись проверяется на стороне сервера (получатель).
Появилось несколько вопросов касательно правильности шагов реализации.
1. На стороне клиента вроде все понятно - пользователь выбирает сертификат, из документа выделяется набор полей, по ним строится один хэш (шарпей) и создается подпись (также шарпей). Подпись вместе с документом отправляется на другой узел. 2. основной вопрос, как проверить подпись на узле-получателе? Т.е. как определить, какой сертификат использовать для проверки? Клиентов могут быть сотни. 3. Вроде бы где-то проскакивало, что Крипто-Про умеет внедрять сертификат в подпись. Если так, то это решает проблему проверки (ткните, что курить :)), однако появляется вопрос, как проверить сам сертификат? Ведь он не установлен на получателе.
В общем воть....
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Цитата:2. основной вопрос, как проверить подпись на узле-получателе? Т.е. как определить, какой сертификат использовать для проверки? Клиентов могут быть сотни. - Если Вы доверяете всем сертификатам выпущенным определенными центрами, то можно прикреплять к письму сертификат, а при проверке подписи строить цепочку доверия до корневого центра, проверять сертификат на отзыв, наличие необходимых расширений в сертификате... В этом случае придется держать на сервере только корневые сертификаты. Это основной способ использования - Если клиенты никак не привязаны к центрам (Вы доверяете клиентам, а не центрам), то придется держать базы сертификатов, а с письмом пересылать некую информацию о сертификате отправителя, например Issuer (издатель) и Serial (серийный номер сертификата). В этом случае за актуальснотью сертификатов придется следить самостоятельно. Этот способ используется реже, но экономнее с точки зрения размера письма. Цитата:Вроде бы где-то проскакивало, что Крипто-Про умеет внедрять сертификат в подпись. Есть форматы подписанных сообщений, например CMS/PKCS#7 и xmldsig, в которых указывается как укладывать в сообщение текст, подпись, дополнительные атрибуты, сертификаты и т.д. Если формат сообщения не определен заказчиком, то можно воспользоваться CMS. |
С уважением, Александр. |
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.02.2010(UTC) Сообщений: 2 Откуда: Спб
|
Спасибо. С этим разобрался.
Появился следующий вопрос. Будет ли работать (если да, то как) WCF без Sharpei с ГОСТ-сертификатами? Получить сертификат и использовать его для подписи только средствами криптоAPI получается (с установленным CSP). Но при попытке передать в WCF ГОСТ-сертификат для подписи пакетов возникает
System.NotSupportedException: The certificate key algorithm is not supported.
Что делать?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
В общем случае не будет. Будет только в тех случаях, когда .Net Framework не участвует в создании "защищенного соединения", а используется исключительно Crypto API. в большинстве случаев System.NotSupportedException: The certificate key algorithm is not supported. и означает, что .Net Framework не может разобрать сертификат. Варианты: 1. отказываться от WCF, обходится другими средствами 2. отказываться от ГОСТ. 3. Устанавливать Sharpei |
С уважением, Александр. |
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close