Запись маски с использованием writemask API (Sign)
Как записать алгоритм в маску более-менее понятно с приведенных примеров.
А как записать вначале защищенную ячейку в маску (writemask), используя Guardant API?
Вы не авторизованы. Пожалуйста, войдите или зарегистрируйтесь.
Форум Guardant → Технологии защиты → Запись маски с использованием writemask API (Sign)
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
Как записать алгоритм в маску более-менее понятно с приведенных примеров.
А как записать вначале защищенную ячейку в маску (writemask), используя Guardant API?
Да, собственно, также, как и дескриптор аппаратного алгоритма (дескриптор защищенной ячейки в этом смысле от дескриптора алгоритма ничем не отличается).
Т.о. необходимо в начало маски (первым вызовом по порядку) добавить AddAlgorithm() с типом создаваемой ячейки rs_algo_PI.
Спасибо. С этим вопросом понятно.
А как записать алгоритм ECC160? В утилите GrdUtil показывает не детерминатор а пару ключей. Как записать эту пару ключей?
В качестве определителя (determinant) алгоритма ECC160 выступает закрытый ключ (private key). В дескриптор нужно записывать именно его. Открытый ключ (public key) помещается в защищенное приложение.
GrdUtil при этом для удобства хранит и отображает ключевую пару полностью.
Кстати, в этом примере (sample.cpp) есть образец записи ECC160.
Пишу на Delphi. И, наверно, что-то не так сделал так как при добавлении ячеек, алгоритмов переменная обозначающая рост размера AST { pointer to variables, contains AST size } не увеличивается, а также заглавие маски { pointer to a buffer to return generated mask header } остается пустым.
AddAlgorithm(
@abyMask[1], { pointer to a buffer to return generated mask }
@abyMaskHeader[1], { pointer to a buffer to return generated mask header }
$0000,
nsafl_ST_III + nsafl_ActivationSrv + nsafl_UpdateSrv + nsafl_InactiveFlag,
nsafh_ReadSrv + nsafh_ReadPwd,
rs_algo_PI,
108,
0,
dwActivatePsw, { activation service password }
0, { deactivation service password }
dwReadPsw, { read service password }
dwUpdatePsw, { update service password }
NIL,
NIL,
NIL,
NIL,
$FFFF, { GP counter of algorithm/PI }
$FFFF, { error counter of algorithm/PI }
@buf_PI_det[1],
@wMaskSize, { pointer to variables, contains mask size }
@wAST_Size, { pointer to variables, contains AST size }
@wNumberOfItems); { pointer to variables, contains number of items in mask }
Подскажите в чем может быть проблема?
Может при инициализации задали некорректный тип ключа?
См. первые два параметра конструктора CWritemask или параметры WriteMaskInit() (в зависимости от версии использованной writemask).
Может при инициализации задали некорректный тип ключа?
См. первые два параметра конструктора CWritemask или параметры WriteMaskInit() (в зависимости от версии использованной writemask).
А можно по подробнее описать эти параметры и их значения?
В них передаются тип и модель ключа (соответственно), с которым работаем. Сами значения могут быть взяты из структуры TGrdFindInfo, содержащей информацию о найденном ключе после вызова GrdFind().
СWritemask(FindInfo.wType, FindInfo.dwModel,...)
Возник вопрос на такую же тему. Запись маски с использованием writemask API.
Сколько алгоритмов/ячеек можно добавить в маску с помощью writemask AddAlgorithm ?
У меня получается не более 2-х. Алгоритмы, добавленные 3-м, 4-м и далее по счету при последующем обращении к ним выдают "Для данного алгоритма/ячейки не предусмотрен данный вид сервиса". Первые два работают.
Возник вопрос на такую же тему. Запись маски с использованием writemask API.
Сколько алгоритмов/ячеек можно добавить в маску с помощью writemask AddAlgorithm ?
У меня получается не более 2-х. Алгоритмы, добавленные 3-м, 4-м и далее по счету при последующем обращении к ним выдают "Для данного алгоритма/ячейки не предусмотрен данный вид сервиса". Первые два работают.
Ответ отправил Вам на почту.
А каким образом записать пользовательские поля (не алгоритмы) в ключ?
Здравствуйте.
А каким образом записать пользовательские поля (не алгоритмы) в ключ?
Поля свободного назначения не защищенные аппаратными запретами записываются при помощи функции GrdWrite, после того как были записаны все необходимые поля защищенные аппаратными запретами (аппаратные алгоритмы, защищенные ячейки и
таблица лицензий).
Страницы 1
Чтобы отправить ответ, нужно авторизоваться или зарегистрироваться
Форум Guardant → Технологии защиты → Запись маски с использованием writemask API (Sign)