12.08.2004 12:12:37Очистка носителей программно Ответов: 4
Калинина Елена
Добрый день!
Можно ли очистить носители (например, удалить ключевую пару из реестра) программно?
 
Ответы:
12.08.2004 14:07:26Александр
Да. Мужно вызвать функцию CryptAcquireContext() с параметром CRYPT_DELETEKEYSET.
10.09.2007 15:43:07Maxim Korobov
А есть ли гарантированный способ очистки носителя (когда, например, на нем находятся 2 и более контейнеров)?
10.09.2007 22:40:40Василий
Зависит от носителя.
Например, для дискет и флешек файлы ключевого контейнера при удалении (CryptAcquireContext с CRYPT_DELETEKEYSET) сначала заполняются константой, в таком виде сохраняются, а только потом удаляются. В результате даже утилиты типа undelete не позволяют восстановить содержимое контейнера.
Если требуется очистка всего носителя - то проще это делать не средствами CSP, а другими средствами, например, форматированием.
11.09.2007 15:04:11Maxim Korobov
"Например, для дискет и флешек файлы ключевого контейнера при удалении (CryptAcquireContext с CRYPT_DELETEKEYSET) сначала заполняются константой, в таком виде сохраняются, а только потом удаляются." - поясните, пожалуйста. Что значит "сначала заполняются константой"? При открытии с ключем CRYPT_DELETEKEYSET можно только удалить ключевую пару.0

Я работаю с руТокен. Не средствами cryptoAPI очень трудно - я сначала делал через APDU-команды, рутокенцы сказали, что так не получится, потом делал через PKCS#11, оказалось, что инициализация токена через PKCS удаляет только PKCS-объекты, но не очищает память полностью... Сейчас можно сделать с помощью rutokenAPI через вызов процедуры в rtAPIEx, но у меня просто нет времени, чтобы еще и си-обертку на библиотеку конвертировать в delphi.