如何从现有指纹开始创建密钥库?

时间:2015-05-11 08:13:13

标签: android sha1 fingerprint android-keystore

我想在Playstore中上传我的应用程序,该应用程序将替换我过去未加载的旧版本。当我尝试上传我的应用时出现以下错误:

You uploaded an APK that is signed with a certificate other than that
of your previous APK. You must use the same certificate. 
The APK existing certificates are signed by these fingerprint:
[SHA1: .... ]

The certificates used to sign the APK that you have loaded these fingerprint:
[SHA1: .... ]

如何让密钥库具有正确的指纹?

1 个答案:

答案 0 :(得分:0)

  

如何让密钥库具有正确的指纹?

Google Play依赖于密钥连续性,以确保发布应用的开发人员是更新应用的开发人员。

您应该在计算机上安装相同的公钥/私钥,然后使用私钥对APK进行签名。最后,将APK重新提交给Play商店。

  

如何从现有指纹开始创建密钥库?

你做不到。您需要原始的公钥/私钥对。

可以从现有的APK获取公钥。只需查看META-INF目录即可。证书或公钥位于那里。

但是 ,您必须将RSA公钥用于恢复私钥(或解决相关问题,如有限字段中的离散根)。它是非平凡的,如果你这样做,那么你就不会在乎签署APK了:)。例如,请参阅加密堆栈交换中的Calculating private keys in the RSA cryptosystem

以下是使用jarsigner和调试密钥从命令行进行签名的方法。论证的顺序很重要。您应该使用真正的公钥/私钥对,而不是调试密钥。

jarsigner -verbose -keystore C:\Users\<user>\.android\debug.keystore \
    -storepass android -keypass android -digestalg SHA1 \
    -sigalg SHA1withRSA <package name>.apk androiddebugkey