2016-11-13 12 views
0

Androidからは、apkに署名する必要があることがわかりました。しかし、デジタル署名が何であるのか、それが何を提供するのか(情報の信憑性と完全性を保証する)について考えてみると、Androidは本当に信頼性と統合性を検証するためにアプリに署名するわけではないが、システムまたは他のアプリケーションのいずれかに任意のタイプの要求をしているアプリケーション」と呼ばれます。署名付きapkアンドロイド。 Androidはどのような署名を使用しますか?

  1. そうですか?

  2. デベロッパーが同じ署名で自分のアプリに署名することをお勧めします。デジタル署名の概念は各文書ごとに一意です。したがって、開発者の異なるアプリケーションが同じ署名を持つ可能性はありますか?

  3. 私はapkに署名して読んだと思います。私と誰もこのアプリケーションを変更することはできません。そうですか?これはどのように?

答えて

4
  1. どちらが正しいありがとうございます。署名は、実際にあなたがインストールしているアプリケーションが変更されていないことを検出するために使用されますが、デバイス上の他のアプリケーションからのアクセスを制限するためにも使用できます。会社が2つのアプリケーションを構築し、それらの間でデータを共有したいとします。彼らはsignature-protected permissionを使って、あなたのデータにその会社のアプリがアクセスできるようにすることができます。

  2. それは同じだ署名はありませんが、プライベートキーは、その署名を生成するために使用されます。署名は、あなたが期待するように、あなたのアプリのすべてのビルドに固有のものです。詳細はhttps://developer.android.com/studio/publish/app-signing.htmlを参照してください。

  3. アプリを変更することはできません。 AとBの署名が異なるキーから生成された場合、AndroidはバージョンAからバージョンBへのアプリケーションのアップグレードを許可しません。誰かがアプリを改ざんすると、その署名は無効になるので、自分の鍵で署名を辞さなければなりません。信頼できない人には鍵を渡すべきではありません。鍵を変更することなくアプリを修正して辞めることができるからです。もちろん

すでにアプリの本物のバージョンは、Androidが持つ新しいバージョンを比較できることをインストールしていない限り、署名は、悪意のある変更のAPKからあなたを保護することはできません。このため、不明な情報源からのAPKファイルをインストールしないようにする必要があります。

+0

私がよく理解していれば、辞任せずに第3のアプリケーションを修正しようとすることはできますが、もちろん署名の検証プロセスは失敗し、アップグレートはできません。もちろん、あなたの秘密鍵で更新しようとしますが、もう一度署名の検証プロセスが失敗します。右? – user3254515

+1

@ user3254515よろしく!最初のケースは無効な署名によるものであり、2番目のケースは署名の不一致によるものです。 –

関連する問題