10.10.2005 8:26:52Сертификат в контейнер. Ответов: 7
Игорь
Использую в работе сертификаты, сделанные на УЦ КриптоПро. Разработчик прикладного софта дал утилитку, которая умеет делать запрос на сертификат и устанавливать полученный сертификат в контейнер. Все работает нормально, но иногда по разным причинам при установке сертификата в контейнер возникают сбои. В результате я остаюсь с контейнером и сертификатом поотдельности, т.к. второй попытки система не дает.
Вопрос: как все таки запихать сертификат в контейнер в случае, если первая попытка не удалась или информации о запросе на компьютере нет совсем? Если можно, то дайте готовую утилику, т.к. разбираться в тонкостях API времени нет, да и "давненько не брал я в руки шашаек".
 
Ответы:
10.10.2005 9:27:52kure
Можно установить через панель упралвения КриптоПро CSP. http://www.cryptopro.ru/CryptoPro/doc/Installation2.doc есть описание.
10.10.2005 9:28:34kure
Можно установить через панель упралвения КриптоПро CSP. http://www.cryptopro.ru/CryptoPro/doc/Installation2.doc есть описание.
10.10.2005 10:06:05Василий
Уточнение такое:
через панель управления КриптоПро CSP сертификат можно установить в хранилище сертификатов Windows и связать установленный сертификат с контейнером. После этого на данной машине любое приложение сможет при работе с этим сертификатом обратиться к секретному ключу в контейнере, когда это будет нужно. Но! Сертификат не будет при этом действии записан в контейнер (замечу, что это и не требуется, как правило).
10.10.2005 13:28:59Игорь
Как установить сертификат в хранилище Windows и связать его с находящемся в любом месте контейнером я знаю. Вопрос был именно об установке сертификата в контейнер. Носить дискетку плюс к ru или eToren’у крайне неудобно.
Так что, если единственная попытка установки сертификата в контейнер по каким-то причинам неудалась, то уже никак?
10.10.2005 16:10:09Василий
При установке сертификата в хранилище + в контейнер (с помощью веб-интерфейса MS CA или утилит на основе xenroll) информация о контейнере берётся из запроса на сертификат, который был сформирован на этой же машине и сохранён в хранилище запросов. После выполнения действия (пусть и не всегда успешного - это вопрос к разработчику утилиты) запрос удаляется из хранилища.

Далее сертификат в контейнер установить можно. Программно. Задавая имя контейнера (или перебором). Если этот вариант устраивает, посмотрите наш пример http://www.cryptopro.ru/CryptoPro/test/sample2_0.zip, файл property.c, функция CryptSetKeyParam, параметр KP_CERTIFICATE.
13.10.2005 6:57:09Игорь
Кроме примера хотел почитать еще и какую-нибудь доку. Скачал у вас csp_2_0.chm и tls_2_0.chm. Там для функции CryptSetKeyParam параметр KP_CERTIFICATE не указан вообще. Странный какой-то параметр...
13.10.2005 12:13:02Василий
Вы правы, в доке на сайте (которая соответствует CSP 2.0.2049) этого параметра нет. Просто забыли.

В дистрибутивах новых версий CSP (2.0.2089 и 3.0) есть. Но, там только упомянут этот параметр - для практической реализации лучше готового примера всё равно не найдёте.