首页 > 解决方案 > 必须引用包含私钥和相应公钥证书链的有效 KeyStore 密钥条目

问题描述

我已完成以下步骤来使用 Google 上传证书签署 APK。

  1. 从 google play 开发网站的应用签名部分获得上传证书。
  2. 创建了一个密钥

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

  3. 从 Google 导入上传证书

    keytool -importcert -file upload_cert.der -keystore XXXXX.keystore

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

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

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

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

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

标签: androidgoogle-play-servicesapkandroid-app-signing

解决方案


签署 APK 不仅需要证书(这是公共信息),还需要私钥。尽管为方便起见,Play 管理中心会与您共享证书,但只有您可以访问私钥。上传密钥是您用于签署您上传的第一个 APK 的任何密钥(假设您此时注册了 App Signing by Play):只需使用与您第一次上传相同的密钥库 + 别名重新签名即可。如果您丢失了最初用于签名的密钥,则可以联系 Play 支持团队以重置密钥。


推荐阅读