必须引用包含私钥和相应的公钥证书链的有效KeyStore密钥条目

时间:2018-11-04 18:35:53

标签: android google-play-services apk android-app-signing

我已按照以下步骤使用Google上传证书对APK进行签名。

  1. 从Google Play开发者网站的应用程序签名部分中获取上传证书。
  2. 创建密钥

    keytool -genkey -v -keystore XXXXX.keystore -alias XXXXX -keyalg RSA -keysize 2048 -validity 10000

  3. 从Google导入了上传证书

    keytool -importcert-文件upload_cert.der -keystore XXXXX.keystore

  4. 然后我列出有关密钥存储的信息

    keytool -list -v -keystore XXXXX.keystore -storepass密码

  5. 从那里我可以看到Google的进口商证书具有别名“ mykey”

  6. 当我尝试使用别名“ mykey”对apk进行签名时 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore XXXXX.keystore android-release-unsigned.apk XXXXX

我收到以下错误: mykey必须引用有效的KeyStore密钥条目,该条目包含私钥和相应的公钥证书链。

1 个答案:

答案 0 :(得分:1)

签名APK不仅需要证书(公开信息),还需要私钥。尽管Play控制台为方便起见与您共享证书,但只有您有权访问私钥。上载密钥是您用来签署第一个上载的APK的密钥(假设您此时已注册使用Play进行应用签名):只需使用与第一次上载相同的密钥库+别名进行重新签署,就可以了。 如果您丢失了最初签名时使用的密钥,则可以与Play支持团队联系以重置密钥。