Когда LICENSED_OLD_KEY возвращается с сервера?
Документация для лицензирования приложений описывает LICENSED_OLD_KEY
в значении:
Приложение лицензировано для пользователя, но имеется обновленная версия приложения, подписанная другим ключом.
С другой стороны, документация для подписания стратегий гласит:
Если вы подписываете новую версию без использования соответствующих сертификатов, вам также нужно будет присвоить приложению другое имя пакета - в этом случае пользователь устанавливает новую версию как совершенно новое приложение.
Поскольку приложения идентифицируются по именам пакетов, это говорит о том, что вы не можете изменить ключ подписи для опубликованного приложения. (Скорее, вы можете изменить ключ и пакет, но тогда он будет рассматриваться рынком как новое приложение.)
Я не могу придумать сценарий, где можно получить LICENSED_OLD_KEY
ответ. Я что-то пропустил?
1 ответ
В документации говорится, что LICENSED_OLD_KEY
... может указывать на то, что пара ключей, используемая установленной версией приложения, недействительна или скомпрометирована.
Похоже, этот код был добавлен для случаев утечки закрытого ключа или невозможности доверять ему. Поскольку текущий механизм IPC даже не знает, какой открытый ключ используется на стороне клиента, я бы предположил, что все имя пакета будет испорчено. Идея заключается в том, что в этом случае приложение должно попросить пользователя обновить его до новой версии, которая не была испорчена и предположительно уже существует. Поскольку это обновление потребует перехода на совершенно новый пакет, то, как это должно быть сделано, неясно. Я предполагаю, что этот механизм на самом деле вообще не используется на данный момент, поэтому шансы получить этот код очень близки к нулю. В текущей версии официальной библиотеки LVL этот код обрабатывается так же, как обычный LICENSED
ответ есть.
ps Также обратите внимание, что вы путаете пару ключей, используемую для подписи ваших приложений, и пару ключей, используемую для службы LVL. Эти два совершенно разные и не связаны между собой. Интересно, что с последней парой ключей вы даже не узнаете секретный ключ. Вы получаете свой собственный предварительно сгенерированный открытый ключ (по одному на разработчика) с консоли издателя, и это все, что вы получаете.