В разделе "Пример взаимодействия с сервисом СМЭВ" из документации КриптоПро .NET (далее - Документация) демонстрируется "взаимодействие с сервиcом СМЭВ в режиме безопасности сообщений". На этом же принципе базируется и
статья от
mustiks (далее - Статья).
Для обеспечения такого взаимодействия, насколько я понял, требуются (в терминах Документации):
- сертификат и секретный ключ сервиса (для проверки подлинности сервера);
- сертификат и секретный ключ клиента (для проверки подлинности клиента).
В связи с этим буду очень благодарен, если кто-нибудь ответит на несколько вопросов. Хорошо понимаю, что вопросы дилетантские, но что есть то есть. Вопросы следующие:
1. Каким образом создается соответствующая пара ключ/сертификат? Каким УЦ должен быть выдан сертификат?
2. Каким образом клиент получит сертификат сервера? В спецификациях сервиса, который мне надо реализовать, ничего не говорится о таком сертификате. Получается, что, если реализовывать сервис по образцу примеров Документации/Статьи, то неотъемлемой частью его должен быть сертификат сервера, предоставляемый потенциальному клиенту при необходимости. Наверное, наличие такого сертификата должно быть как-то отражено в документации на сервис?
3. Как соотносятся подпись типа "ЭП-СП" (из Метод. рекомендаций) и подпись для удостоверения подлинности клиента? В примерах запрос клиента подписывается секретным ключом пары ключ-сертификат удостоверяющей подлинность клиента. Означает ли это. что для удостоверения подлинности клиента должна использоваться подпись типа ЭП-СП? Или же, наоборот, запрос должен быть подлисан двумя подписями: ЭП-СП и отдельной подписью для проверки подлинности клиента?
И еще вопрос. Правильно ли я понимаю, что если использовать WCF по схеме, предложенной в Документации/Статье, то подписание выполняется в некотором роде "автоматически", в то время как большинство проблем, обсуждаемых в этой теме, относится к ситуации, когда подпись выполняется вручную? Если это так, какой способ реализации сервиса порекомендуют участники обсуждения с учетом имеющегося на данный момент у них опыта: с использованием WCF или без? Или в другой формулировке: как проще реализовать сервис по требованиям СМЭВ: с использованием WCF или без?
И в заключение:
1. Извините за то что "много букв".
2. Как говорится, "прошу сильно не пинать".