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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Aledor  
#1 Оставлено : 24 февраля 2010 г. 20:10:03(UTC)
Aledor

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

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

День добрый! Поставлена следующая задача:
1. Есть некоторые документы, часть полей которых требуется подписать с помощью ЭЦП.
2. Документы ходят по документообороту между удаленными узлами.
3. Документ подписывается на стороне клиента (отправитель, сертификат выдается общим ЦС, E-Token) , подпись проверяется на стороне сервера (получатель).

Появилось несколько вопросов касательно правильности шагов реализации.

1. На стороне клиента вроде все понятно - пользователь выбирает сертификат, из документа выделяется набор полей, по ним строится один хэш (шарпей) и создается подпись (также шарпей). Подпись вместе с документом отправляется на другой узел.
2. основной вопрос, как проверить подпись на узле-получателе? Т.е. как определить, какой сертификат использовать для проверки? Клиентов могут быть сотни.
3. Вроде бы где-то проскакивало, что Крипто-Про умеет внедрять сертификат в подпись. Если так, то это решает проблему проверки (ткните, что курить :)), однако появляется вопрос, как проверить сам сертификат? Ведь он не установлен на получателе.

В общем воть....

Offline Челпанов А.  
#2 Оставлено : 25 февраля 2010 г. 12:31:52(UTC)
Челпанов А.

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

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Цитата:
2. основной вопрос, как проверить подпись на узле-получателе? Т.е. как определить, какой сертификат использовать для проверки? Клиентов могут быть сотни.

- Если Вы доверяете всем сертификатам выпущенным определенными центрами, то можно прикреплять к письму сертификат, а при проверке подписи строить цепочку доверия до корневого центра, проверять сертификат на отзыв, наличие необходимых расширений в сертификате... В этом случае придется держать на сервере только корневые сертификаты. Это основной способ использования
- Если клиенты никак не привязаны к центрам (Вы доверяете клиентам, а не центрам), то придется держать базы сертификатов, а с письмом пересылать некую информацию о сертификате отправителя, например Issuer (издатель) и Serial (серийный номер сертификата). В этом случае за актуальснотью сертификатов придется следить самостоятельно. Этот способ используется реже, но экономнее с точки зрения размера письма.
Цитата:
Вроде бы где-то проскакивало, что Крипто-Про умеет внедрять сертификат в подпись.
Есть форматы подписанных сообщений, например CMS/PKCS#7 и xmldsig, в которых указывается как укладывать в сообщение текст, подпись, дополнительные атрибуты, сертификаты и т.д. Если формат сообщения не определен заказчиком, то можно воспользоваться CMS.
С уважением, Александр.
Offline Aledor  
#3 Оставлено : 23 марта 2010 г. 14:35:53(UTC)
Aledor

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

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

Спасибо. С этим разобрался.

Появился следующий вопрос. Будет ли работать (если да, то как) WCF без Sharpei с ГОСТ-сертификатами? Получить сертификат и использовать его для подписи только средствами криптоAPI получается (с установленным CSP). Но при попытке передать в WCF ГОСТ-сертификат для подписи пакетов возникает

System.NotSupportedException: The certificate key algorithm is not supported.

Что делать?
Offline Челпанов А.  
#4 Оставлено : 23 марта 2010 г. 14:46:46(UTC)
Челпанов А.

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

Группы: Участники
Зарегистрирован: 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
С уважением, Александр.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.