我正在构建类似于应用程序商店的东西,其市场包括Android移动应用程序。我没有Google Play开发者控制台帐户(是的,我仍然没有25美元),但我确实知道Google Play大量使用的是APK签署发布时的证书。我对此并不十分肯定,但我认为至少有两(2)个理由证明这些证书很重要:
所以现在,这是我真正的问题。正如我之前所说,我正在制作一个应用商店,就像推销Android应用的网站一样。现在因为我之前所说的关于APK的证书签名,我还想确保将上传他们的应用程序的开发者真正拥有该应用程序(并且所以没有人会上传例如,Facebook APK显然不是他们的,另一个有用的东西是,不会有重复的应用程序。)
我们正在使用PHP 和希望尽可能地坚持使用PHP。有没有办法用PHP做到这一点以及如何做到这一点?开发人员需要提供哪些密钥(用于验证)?私钥或公钥(我对此有点困惑,但我猜它是私钥)。谢谢!
修改
我偶然发现了this链接,这可以用PHP实现吗?对不起,我对PHP还不是很专业,我不知道是否可以从它运行终端命令。
答案 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命令(密钥库)。