6

アプリケーション ライセンスのドキュメントにはLICENSED_OLD_KEY、次の意味が記載されています。

アプリケーションはユーザーにライセンスされていますが、別のキーで署名された更新されたアプリケーション バージョンが利用可能です。

一方、署名戦略のドキュメントには次のように書かれています。

一致する証明書を使用せずに新しいバージョンに署名する場合は、別のパッケージ名をアプリケーションに割り当てる必要もあります。この場合、ユーザーは新しいバージョンを完全に新しいアプリケーションとしてインストールします。

アプリケーションはパッケージ名で識別されるため、公開されたアプリケーションの署名キーを変更できないようです。(むしろ、キーとパッケージを変更することはできますが、その場合、市場では新しいアプリケーションとして扱われます。)

LICENSED_OLD_KEY応答を受け取ることができるシナリオは考えられません。何か不足していますか?

4

1 に答える 1

3

ドキュメントには、LICENSED_OLD_KEY

...インストールされているアプリケーションのバージョンで使用されているキー ペアが無効であるか、侵害されている可能性があります。

このコードは、秘密鍵が漏洩したり、信頼できなくなったりした場合に追加されたようです。現在の IPC メカニズムでは、クライアント側でどの公開鍵が使用されているかさえわからないため、パッケージ名全体が汚染されていると推測できます。この場合、アプリは、汚染されておらず、おそらく既に存在している新しいバージョンにアップグレードするようにユーザーに要求する必要があるという考えです。このアップグレードにはまったく新しい別のパッケージへの切り替えが必要になるため、これをどのように行うべきかは不明です。私の推測では、このメカニズムは現時点では実際にはまったく使用されていないため、このコードを取得する可能性はほぼゼロです。公式 LVL ライブラリの現在のバージョンでは、このコードは通常のLICENSED応答と同じように扱われます。

ps また、アプリの署名に使用されるキーペアと、LVL サービスに使用されるキーペアを混同していることにも注意してください。この 2 つはまったく別のものであり、関連性はありません。興味深いことに、後者の鍵ペアでは、秘密鍵を知ることさえできません。パブリッシャー コンソールから事前に生成された独自の公開鍵 (開発者ごとに 1 つ) を取得するだけです。

于 2011-12-17T10:32:41.940 に答える