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