使用PHP获取APK证书密钥

时间:2015-09-23 23:01:33

标签: php android

我正在构建类似于应用程序商店的东西,其市场包括Android移动应用程序。我没有Google Play开发者控制台帐户(是的,我仍然没有25美元),但我确实知道Google Play大量使用的是APK签署发布时的证书。我对此并不十分肯定,但我认为至少有两(2)个理由证明这些证书很重要:

  • 使用它是因为有人无法上传某些人的作品。 (例如,我无法在自己的帐户中上传Google+ APK,因为我不知道其证书详情。但我对此有点困惑,因为如果我所知道的是正确的,那么证书就是私有的公共密钥。那么,你给Google Play带来了哪些密钥?拥有控制台帐户的人可以了解这一点。
  • 我认为,如果我的Google Play控制台帐户遭到破坏,黑客也无法上传新的恶意更新,因为他无法复制证书(或者至少我认为这样,但是现在我很困惑,因为我记得证书有一个到期日期所以请在这个上赐教。)

所以现在,这是我真正的问题。正如我之前所说,我正在制作一个应用商店,就像推销Android应用的网站一样。现在因为我之前所说的关于APK的证书签名,我还想确保将上传他们的应用程序的开发者真正拥有该应用程序(并且所以没有人会上传例如,Facebook APK显然不是他们的,另一个有用的东西是,不会有重复的应用程序。)

我们正在使用PHP 希望尽可能地坚持使用PHP。有没有办法用PHP做到这一点以及如何做到这一点?开发人员需要提供哪些密钥(用于验证)?私钥或公钥(我对此有点困惑,但我猜它是私钥)。谢谢!

修改
我偶然发现了this链接,这可以用PHP实现吗?对不起,我对PHP还不是很专业,我不知道是否可以从它运行终端命令。

1 个答案:

答案 0 :(得分:1)

什么是公钥/私钥?
您可以简单地搜索和阅读有关公钥/私钥加密的许多文章 维基百科: https://en.m.wikipedia.org/wiki/Public-key_cryptography

apk标志用法怎么样?
现在你应该知道你在找什么钥匙以及为什么!但签署apk文件的主要原因是确保除应用程序所有者(开发人员)之外没有人可以编辑应用程序并在市场或互联网上发布已编辑(破解)的应用程序。

如果您了解java编程(除了混淆的apks),破解Android应用程序非常简单。因此,如果有人破解你的签名apk,他会在apk上有不同的标志,Android操作系统不允许新签名的apk更新并将其自身替换为旧签名的apk。


如何读取apk标志?
看这篇文章主要答案: How do I find out which keystore was used to sign an app?
你问过用php来获取apk标志。实际上你可以通过php获取RSA文件。但要获得更多细节,您应该运行Java命令(密钥库)。