Использование TRU для предпродажной подготовки ключей
Добрый день.
Я сейчас работаю над проектом, использующим ключи Guardant Code Time для защиты клиентского приложения. Была поставлена задача по написанию системы автоматической предпродажной подготовки ключей. Основное требование - независимость от Guardant SDK. То есть подготовка только что доставленного чистого ключа должна проходить исключительно средствами системы без участия Guardant SDK. Другими словами - исключительно средствами GuardantApi.
Следует так же указать, что система пишется на dotNet.
Возникло ряд вопросов связанных с методами GrdTRU_*:
1. Параметр pGSII64_Key128 метода GrdTRU_SetKey должен быть байтовым массивом длиной в 16 байт?
2. Какими должны быть длины байтового массива вопроса и хеша для метода GrdTRU_GenerateQuestionEx?
3. Для метода GrdTRU_DecryptQuestionEx какие необходимо указывать флаги режима (GrdTRU)?
4. Необходимо ли использовать метод GrdTRU_SetAnswerProperties или достаточно записать в ответ образ?
5. Собственно главный вопрос: данные для записи в ключа, которые передаются в метод GrdTRU_EncryptAnswerEx - это образ в формате файла nsd? Если нет, то возможно ли получить необходимую информацию из nsd-файла?
6. В параметрах метода GrdTRU_EncryptAnswerEx фигурирует некий стартовый адрес по которому будет произведена запись. Какое должно быть его значение в данном случае?
Вроде бы всё. Заранее спасибо за ответ.
PS пытаюсь во всём разобраться сам. Возникла проблема! Метод GrdTRU_DecryptQuestionEx возвращает результат NoService. Я завёл алгоритмы AES128 Decode и SHA256 на ключе разработчика, а так же точно указал их в параметрах метода а mode установил в GrdTRU.CryptMode_AES128SHA256. В чём я ошибся?