| ||||
| ||||
Я как обычно торможу или сессионные ключи не совместимы между версиями? Конкретнее: ----------------------- // hKeyRecv - ключ получателя // pSendPK - открытый ключ отправителя // hExKey - ключ обмена // pKey - сессионный ключ, закрытый на ключе обмена CryptImportKey( hProv, pSendPK, szSendPK, hKeyRecv, 0, @hExKey); CryptImportKey( hProv, pKey, szKey, hExKey, 0, @hCrKey); CryptDecrypt( hCrKey, 0, TRUE, 0,pData, @szData); ----------------------- Ключи получателя и отправителя сгенерированы в v1.1. Если версии CryptoPRO у получателя и отправителя одинаковы, то все ok. Т.е. [1.1]->[1.1] или [2.0]->[2.0] работает. Если версии разные ([2.0]->[1.1] или [1.1]->[2.0]) - всё, труба :( После второго CryptImportKey(): - если сессионый ключ от 1.1 в версии 2.0 - NTE_BAD_DATA; - если сессионый ключ от 2.0 в версии 1.1 - NTE_BAD_TYPE Стандартный вопрос - кто виноват и что делать? | ||||
Ответы: | ||||
| ||||
Форматы блобов сессионных ключей 1.1 и 2.0 отличаются, но их можно преобразовать. Выложим пример преобразования. | ||||
| ||||
Версия 2.0 понимает блобы 1.1. Есть примеры преобразования 1.1 в 2.0. Пока нет возможности выложить на сервер, желающие могут получить по письму на info@cryptopro.ru | ||||