【问题标题】:sign app using given keystore使用给定的密钥库签署应用程序
【发布时间】:2017-01-26 11:11:11
【问题描述】:

我正在增强通过 Play 商店启动的现有应用程序,现在我想发布新版本。以前的开发人员给了我密钥库文件。我无法继续签署 apk 文件。

我使用以下命令生成了 .crt 文件:

keytool -export -alias appname -file appname -keystore keystore

然后我尝试使用以下命令导入:

keytool -import -alias appname -file appname.crt -keystore keystore

我收到如下错误:

keytool error: java.lang.Exception: Certificate reply and certificate in keystore are identical

所以,我使用以下命令删除了别名:

keytool -delete -alias appname -keystore keystore

然后我尝试重新导入,它显示如下输出:

keytool -import -alias flavorsome -file flavorsome.crt -keystore keystore
Enter keystore password:
Owner: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknow
n
Issuer: CN=Name, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unkno
wn
Serial number: number
Valid from: Thu Jul 28 09:34:07 IST 2016 until: Mon Dec 14 09:34:07 IST 2043
Certificate fingerprints:
         MD5:  md5:md5
         SHA1: A1:B1:C1
         SHA256: 00:00:00
         Signature algorithm name: SHA256withRSA
         Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 08 EC 2B 67 A0 94 11 A0   BA 43 C9 8C DB A8 D1 61  ..+g.....C.....a
0010: 0E C4 68 29                                        ..h)
]
]

Trust this certificate? [no]:  yes

然后我尝试对 apk 文件进行签名,但出现如下错误:

jarsigner -verbose -sigalg SHA1
withRSA -digestalg SHA1 release-unsigned.apk appname
Enter Passphrase for keystore:
jarsigner: Certificate chain not found for: appname.  appname must referen
ce a valid KeyStore key entry containing a private key and corresponding public
key certificate chain.

我的主要问题是如何继续使用给定的密钥库文件对 apk 文件进行签名?

【问题讨论】:

    标签: android apk keystore


    【解决方案1】:

    如果您已经有密钥库文件,则不需要生成新的 .crt 文件。 可能是https://developer.android.com/studio/publish/app-signing.html#sign-manually 有用。

    【讨论】:

    • 谢谢,但我没有使用 Android Studio,但我尝试使用终端,生成对齐的 apk 文件,然后使用 apksigner.bat 文件并收到错误为“无法加载签名者“签名者 #1”:密钥库确实不包含关键条目”
    【解决方案2】:

    我已使用以下命令对其进行签名:

    jarsigner release-unsigned.apk appname -keystore keystore
    

    然后对其进行压缩对齐,生成的 apk 文件允许在 Play 商店中使用。

    【讨论】:

      猜你喜欢
      • 2015-05-17
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 2011-12-26
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多