18.07.2006 15:11:46Можно ли программно удалить сертификат из контейнера? Ответов: 1
KDA
Сертифкат был установлен в контейнер через CryptSetKeyParam (.. KP_CERTIFICATE ...)
Попытка CryptSetKeyParam(hKey, KP_CERTIFICATE, 0, 0)
возвращает NTE_BAD_KEYSET_PARAM
 
Ответы:
19.07.2006 13:56:43Василий
Нет, программно удалить сертификат из контейнера нельзя.
Если сильно надо - можно сделать так (при условии, что разрешен экспорт ключа):
скопировать контейнер без операции записи сертификата. Пример см. в csptest-е (http://www.cryptopro.ru/CryptoPro/products/csp/20/sample-2-0.zip) в файле ctkey.c

Или так - экспорт соответствующего ключа (AT_SIGNATURE или AT_KEYEXCHANGE) в блоб PRIVATEKEYBLOB и импорт его обратно в контейнер (м.б. придётся перед импортом удалить существующий ключ)