2

我使用我的 Keystore 通过 Eclipse 签署了 android 应用程序。

我想要做的是验证这个应用程序是由我签名的,因为我只希望这个应用程序访问我的 PHP Web 服务。

我想到的是
1.我需要与私钥对应的公钥
2.使用公钥验证应用程序是否由我签名

所以我的问题是
1. 我的想法正确吗?
2. 如何验证已签名的 .adk?
3. jarsigner -verbose -verify android.apk 用于验证android.apk 的完整性,但它没有进行身份验证对吗?

4

2 回答 2

1

恕我直言,您正在混合 apk 的签名和从您的应用程序到您的 php 服务器的身份验证。

为确保您的应用程序是唯一访问您的网络服务的应用程序,您实际上可以从 Google Play 服务获取令牌,然后根据您的 php 服务器上的谷歌证书验证该网络令牌!

http://android-developers.blogspot.co.il/2013/01/verifying-back-end-calls-from-android.html

于 2013-07-21T15:45:20.733 回答
0

APK 的签名告诉 Android,签署版本 2 的人和签署版本 1 的人是同一个人。它不会验证实际是谁,它只是确保同一个人签署了应用程序的所有版本。它是一种围绕下载更新的安全方法。

如果要对 Web 服务进行身份验证,则不会使用此密钥。面对在其他任何地方使用该密钥对于安全性来说是个坏主意。相反,您希望对 Web 服务的所有调用使用 https 来加密通道。然后你可以做一些简单的事情,比如发送一个密钥作为 1 参数。这将为您提供基本的安全性。如果你想要更多,你真的需要一个 apk 不知道的秘密(比如用户输入的密码)。

于 2013-07-21T15:17:46.473 回答