09.03.2007 13:29:26копирование ключевого контейнера Ответов: 3
Николай
При создании запроса на сертификат пользуемся доступом к CSP через SOAP - протокол с помощью CAPICOM - объекта.
При создании запроса, ключевой контейнер записывается на дискету. После создания запроса ключевой контейнер оказывается непереносимым, то есть скопировать его с дискеты на рутокен или в реестр невозможно.
Вопрос - какой параметр в SOAP - интерфейсе отвечает за переносимость ключевых контейнеров? В "Руководстве программиста КриптоПро УЦ" ничего по этому поводу не нашел.
 
Ответы:
09.03.2007 15:41:48Kirill Sobolev
Вообще, ни CAPICOM ни тем более SOAP отношения к запросам на сертификат и генерации контейнеров не имеют. Расскажите поподробнее, что Вы делаете.
13.03.2007 14:49:27Николай
Спасибо. Поясняю:
Генерируем запрос на сертификат с помощью VBS
- создаем объект:
Set objReq = CreateObject("CEnroll.CEnroll.1")
-задаем параметры:
objReq.ProviderName = ....(выбираем из списка)
objReq.ProviderType = objReq.getProviderType (objReq.ProviderName)
objReq.KeySpec=1
-создаем сам запрос:
sRequest = objReq.createRequest(1,имя-пользователя, строка с OID-ами)
Полученный файл сохраняем и выдаем по нему сертификат. Попутно создается ключевой контейнер.
Так вот, в итоге контейнер оказывается непереносимым. вопрос - какой параметр объекта CEnroll отвечает за переносимость контейнеров ключей и каков синтаксис для того, чтобы его задать?
13.03.2007 15:11:25Kirill Sobolev
За флаг экспорта отвечает свойство GenKeyFlags. Флаги там такие как и в функции CryptGenKey. Чтобы сделать ключ экспортируемым надо присвоить 1.