| ||||
| ||||
Описываю ситуацию: распределённое приложение, 1 сервер, N-клиентов. Приложение работает в режиме - "запрос-ответ" (клиент делает запрос, сервер отвечает). Платформа: .NET 2.0 Для организации доверительного взаимодействия клиента с сервером и наоборот использую ЭЦП, то есть подписываю само сообщение (SignedCms). Для подписи использую сертификаты (закрытый ключ лежит на клиенте, открытый на сервере для запроса - "клиент -> сервер"). Сертификаты (закрытый и открытый ключи) генерю с помощью утилит: makecert, cer2spc, pvkimport. На выходе у меня 2 файла: public.cer, private.pfx. Устанавливаю их программно (используюу возможности .NET 2.0) Всё хорошо работает. Всё устанавливается, подписывается, верифицируется и т.д. ОДНО "НО"!!! НЕ МОГУ СГЕНЕРИРОВАТЬ СЕРТИФИКАТЫ (ЗАКРЫТЫЙ И ОТКРЫТЫЙ КЛЮЧИ) В АВТОМАТИЗИРОВАННОМ РЕЖИМЕ (программно, по запросу). Только использую вышеперечисленные утилиты (makecert, и т.д.) Вопрос: 1. Можно ли это автоматизировать? Если да, то каким образом? 2. Ваш продукт КриптоПро CSP 3.0 - умеет это делать автоматизировано? Если да, то можете привети пример описания, или пример вызовов функций? | ||||
Ответы: | ||||
| ||||
1) Можно. Если поставите службу MS CA, то сможете получать сертификаты через COM API, который она предоставляет (класс CCertRequest). 2) Нет, криптопровайдер реализует совершенно другую функциональность, сертификаты он не создает. | ||||
| ||||
Спасибо за ответ. Тогда есть ещё 1 вопрос, на который я ищу ответ, но пока не могу найти ответ. Говорят, что если в программном комплексе используется шифрование или ЭЦП, то по требованиям ФАПСИ необходимо и ОБЯЗАТЕЛЬНО использование, например, продукта КриптоПро. Вопросы: 1. Так ли это? 2. Если да, то можно увидеть ссылки на соответствющие нормативные акты? Сразу скажу, что наша система не занимается хранением данных государственной важности. | ||||
| ||||
Видимо вопрос об использовании сертифицированных и несертифицированных средств. Ознакомтесь с документом: Положение о разработке, производстве, реализации и ЭКСПЛУАТАЦИИ шифровальных (крипографических) средств защиты информации (ПКЗ-2005). В Гаранте либо Консультатнте вы его без труда найдете. Для коммерческих организаций (для тех, которые не попадают под требования данного положения) он носит рекомендательный характер. Однако, надо принимать во внимание и ряд других федеральных законов и ведомственных нормативных актов регламентирующих обмен информацией в той или иной информационной системе. Например, вы планируете использовать ЭЦП для юридически значимого документооборота (а не только для подтверждения целостности и авторства передаваемых сообщений), согласно ФЗ "Об ЭЦП" подтверждение подлинности ЭЦП осуществляется с использованием сертифицированного средства ЭЦП (КриптоПро как раз такое средство и есть). | ||||
| ||||
В предыдущем посте Вы написали, что автоматизировано сертификаты можно получать черех класс CCertRequest. Приведите, пожалуйста, пример использования этого класса для генерации 1 сертификата с private-ключем. Всё что я находил в интернете, не работоспособно, и информации по этому поводу очень мало. Что требуется для того, чтобы настроить службу MS CA? Заранее благодарю. | ||||
| ||||
Сертификат не содержит секретный ключ, секретный ключ обычно генерится там же где и запрос на сертификат. Примеры есть здесь http://msdn.microsoft.com/library/en-us/seccrypto/security/icertrequest.asp?frame=true http://msdn.microsoft.com/library/en-us/seccrypto/security/icertrequest2.asp?frame=true Для того чтобы настроить MS CA нужен 2000/2003 сервер - служба в них входит, ставится через установку компонент Windows. | ||||