GrdCryptEx

Вопрос по GrdCryptEx.

В ключ добавил алгоритм "AES128 Симметричное шифрование." (Ключ code time)

Пытаюсь использовать подобно примеру из SDK7 - GrdCryptEx(hGrd,GrdAN_AES128,Size,Buf,GrdAM_OFB or GrdAM_Encode,vSize,@Vect[0],nil, nil, nil);

Получаю ошибку "Ошибка: Не найдено алгоритма с запрошенным номером".

В SDK GrdAN_AES128=9.

В чем ошибка? Что делаю не так?

Re: GrdCryptEx

Здравствуйте, vovanse.

Указанная ошибка, соответственно, означает что в памяти целевого ключа нет записанного дескриптора аппаратного алгоритма AES128 с нужным числовым именем (порядковым номером).

Таким образом необходимо либо записать нужный аппаратный алгоритм в память электронного ключа именно с тем числовым именем, которое указанно в параметре dwAlgo, функции GrdCryptEx, или указать числовое имя уже записанного аппаратного алгоритма.

Обратите внимание: добиться формирования аппаратного алгоритма, защищенной ячейки или ячейки для загружаемого кода под нужным номером (числовым именем) можно лишь создав последовательно нужное количество записей (алгоритмов, защищенных ячеек) в маске ключа. То есть, если нужно чтобы в ключе был записан аппаратный алгоритм с числовым именем 9, придется записать еще, например, 8 защищенных ячеек, перед таким алгоритмом.

http://i004.radikal.ru/1506/f8/62b56d168867.jpg

Re: GrdCryptEx

Антон Тихиенко пишет:

...
Обратите внимание: добиться формирования аппаратного алгоритма, защищенной ячейки или ячейки для загружаемого кода под нужным номером (числовым именем) можно лишь создав последовательно нужное количество записей (алгоритмов, защищенных ячеек) в маске ключа. То есть, если нужно чтобы в ключе был записан аппаратный алгоритм с числовым именем 9, придется записать еще, например, 8 защищенных ячеек, перед таким алгоритмом.
...

Неверно. При программировании ключа с помощью API числовое имя алгоритма может быть любым, оно не связано с физическим адресом или индексом ячеек. Об это и в документации написано.

К сожалению, утилиты вроде "Редактор памяти ключей" из состава SDK не позволяют задавать значения числовых номеров алгоритмов, отличные от индексов ячеек.

Почему-то это не исправлено до сих, пор, хотя я писал Вам об этом больше года назад.

Re: GrdCryptEx

vlad-mal пишет:

При программировании ключа с помощью API числовое имя алгоритма может быть любым, оно не связано с физическим адресом или индексом ячеек. Об это и в документации написано.

Это верно для современных моделей электронных ключей Guardant (Sign\Code\SP), для "устаревших" моделей так сделать не получиться и через API.

Утилита программирования электронных ключей GrdUtil.exe до сих пор позволяет работать практически со всеми когда-либо производимыми моделями электронных ключей Guardant и формировать маски разных электронных ключей по общим правилам, что сказывается и на порядке работы с памятью современных моделей.