Guardant SP. Связать длинный серийный номер с ID.

Есть необходимость узнать ID ключа до его продажи пользователю.
ID ключа присутствует на web странице, но, к сожалению,  отсутствует в выгружаемом файле.

Так что, один из способов - парсить html. Способ плохой, к тому же структура html-файла, похоже, регулярно меняется.

Другой способ - парсить длинный серийный номер. Расшифровываем его как  base64, дефисы игнорируем, диез=62, доллар=63, в байтах 40-43 в little endian, похоже, и лежит искомый ID. Пока остановились на этом способе. Можно ли на него полагаться? Или есть способ понадежнее?

И еще такой вопрос. Как проверить целостность длинного серийного номера?  Наверняка ведь он содержит какую-нибудь контрольную сумму. Ведь, судя по тому, как "спрятан" там ID ключа, вряд ли эта информация является секретной

Re: Guardant SP. Связать длинный серийный номер с ID.

Парсинг серийного номера, как вы указали, относительно надежный способ. В ближайшем будущем мы сменим спецсимволы # и $ на другие, чтобы серийники можно было активировать из командной строки в Linux (сейчас их приходится помещать в текстовый файл). Уже отгруженные серийники, естественно, не изменятся.

Проверить целостность серийного номера можно только попытавшись его активировать. Серийный номер представляет собой ID ключа и его цифровую подпись на эллиптических кривых, которая проверяется у нас на сервере и внутри драйвера под псевдокодом на компьютере клиента. В связи с наличием ЭЦП необходимости в контрольной сумме нет.

Я внесу предложение добавить в API функцию, которая сможет выдать ID серийника и подтвердить его целостность. В качестве альтернативы мы можем немного пересмотреть функционал выгрузки серийников на сервере. Я посмотрю, что мы можем сделать.

Re: Guardant SP. Связать длинный серийный номер с ID.

AndreyStepin пишет:

Я внесу предложение добавить в API функцию, которая сможет выдать ID серийника и подтвердить его целостность.

Это было бы замечательно.

AndreyStepin пишет:

В качестве альтернативы мы можем немного пересмотреть функционал выгрузки серийников на сервере.

И это тоже хорошая идея. Еще хотелось бы выгружать не только готовые к активации серийники, но и все прочие. А также, чтобы в выгружаемом файле присутствовал статус серийника, дата активации и прочее. В общем, все то, что сейчас отображается у вас в html.
А то, получается, глазами посмотреть можно, а получить в нормальном виде нельзя