Вверх ↑
Ответов: 4622
Рейтинг: 746
#1: 2018-05-02 11:02:58 ЛС | профиль | цитата
EnCrypt/DeCrypt никак не связаны с остальными компонентами криптографии и совместимы со своими предыдущими версиями. Остальные компоненты никак не затронуты, поскольку в MSCryptoAPI.pas были только добавлены функции, существующие не изменились.
Я тут на выходных глянул в свой старый код - можно вообще не заморачиваться с подстановкой имени провайдера в CryptAcquireContext(). Если поставить nil, система сама выберет провайдер по-умолчанию нужного типа (фактически как я сделал для поиска имени MS_ENH_RSA_AES_PROV в MSCryptoAPI.CheckProvider()).

Меня удивила необходимость делать хеш пароля для создания хендла ключа. Существует возможность импортировать plaintext-пароль. Может быть полезно для совместимости с сторонними программами. Можно также добавить событие onProgress при шифровании файлов и стримов, и соответственно, метод doAbort для прерывания операции.

По поводу компонентов асимметричной криптографии - как по мне, несколько сложно для понимания и неудобно реализовано, но пока не могу ничего готового предложить.
карма: 26

0