2016-04-30 11 views
8

自分のアプリ(実際にユーザーがいる唯一のもの)を購入することに関心のある開発者がいます。つまり、元のソースコードとキーストアを送信し、このリンク:https://support.google.com/googleplay/android-developer/answer/6230247?hl=enAndroid Appを他の開発者に転送する

問題はです。私のすべてのアプリは同じキーストアの同じ証明書を使用しています。

私の質問はです:新しい開発者が他のアプリをハイジャックすることは可能でしょうか?

答えは「いいえ、デバイスでは、同じ証明書で同じパッケージ名で署名された別のapkがデバイスで更新することが許可されますが、Google Playでは開発者が私の他のアプリのパッケージ名と同じパッケージ名です "。

しかし、私はそれについてはわかりません、そして、私はそれについてさらなる技術的な詳細を望みます。

私が言ったように、私が持っている他のアプリは重要ではなく、私はそれらを公開しないこともできます。しかし私はむしろそうではなく、たとえ私がしても、問題はまだ有効です。

ps:ええ、今では、アプリケーションごとに1つの証明書が必要であることを知りました。

+0

sharedUserIdを使用している、または使用する予定のアプリはありますか? – ligi

+0

いいえ、計画していない。 – Budius

+0

コードを知らなくてもキーストアを共有するときに起こり得る攻撃の可能性を評価するのはまだ難しい(まれにKOかもしれないが、一般的には推奨しないだろう)。 (protectionLevel signature) – ligi

答えて

4

アプリケーションのパッケージ名は、Playストアで一意です。これはデバイス(およびPlayストア)がアプリケーションを識別する方法であり、ユニークでなければならず、変更できません。 Androidでは、同じパッケージ名で2つのアプリケーションをインストールすることはできません。

しかし、キーストアを別の開発者に与えることは、依然として危険です。 Playストアでは、アプリケーションの更新時に2つのゲートが使用されます。

  • まず、アプリケーションを所有するアカウントにアクセスする必要があります。

  • 第二に、あなたはAPKがキーストアに誰かのアクセス権を与えることによって、正しいキーストア

で署名されている必要があり、次の2つのセキュリティチェックの1つを削除します。アプリケーションの新しい所有者があなたの開発者アカウントにアクセスする場所であれば、他のアプリケーションも再公開することができます。この新しい所有者がキーストアとアプリケーションを将来他の誰かに販売して、同じことをするリスクもあります。

アカウントが安全であれば、他のアプリケーションもハイジャックから安全です。

このリスクが許容できるかどうかは、あなた次第です。

+0

最後に、私はこの機会を失って、アプリケーションごとに1つの証明書を行うべき未来を学ぶことに決めました。あなたの答えは最も洞察力があったので、正しい+賞金としてマークされています。 – Budius

0

新しい開発者が他の アプリをハイジャックすることは可能でしょうか?

あなたに彼にあなたのkeystoreを与えない限り、あなたは他のどのアプリにも何もすることはできません。

keystoreはすべてのアプリケーションの鍵であり、決して誰とも共有しないでください。デベロッパーアカウントにkeystoreで署名されたアプリを持っていると、自分のアプリに何もできません。

誰でもアプリを別のキーストアを使用して公開ストアに公開できます。

1

APKに署名して、既存のユーザーにサイドロードを促すことができます。サイドローディング時に、アプリはあなたや彼らから来たかどうかを知ることができません。しかし、Playストア自体は、あなたがそれらに転送していないアプリをアップロードすることはできません。

通常、購入者が購入したときの契約の一部で、他のアプリで使用されているキーを使用すると、購入者がキーを保護する必要がある小さなスニペットが含まれます。この契約は、理論上、署名されたAPKをサイドロードすることによってユーザーをハイジャックする可能性があるため、とにかく双方向になります。

関連する問題