我从客户那里收到了一个密钥库文件,我本来会用来签署一个APK来替换/更新游戏商店中现有的APK。
不幸的是我收到以下错误:
jarsigner:找不到证书链:alias_name。 alias_name必须引用包含私钥和相应公钥证书链的有效KeyStore密钥条目。
当我尝试使用不同的自行生成的密钥库对同一个APK进行签名时,这样可以正常工作,因此我认为密钥库中必定缺少某些内容。
Keystore-Typ: JKS
Keystore-Provider: SUN
Keystore enthält 1 Eintrag
Aliasname: alias_name
Erstellungsdatum: 19.05.2015
Eintragstyp: PrivateKeyEntry
Zertifikatskettenlänge: 1
Zertifikat[1]:
Eigentümer: (redacted)
Aussteller: (redacted)
Seriennummer: 5152a7xx
Gültig von: Wed Mar 27 09:00:32 CET 2013 bis: Sun Aug 12 10:00:32 CEST 2040
Zertifikat-Fingerprints:
MD5: (bla)
SHA1: (bla)
SHA256: (bla)
Signaturalgorithmusname: SHA1withRSA
Version: 3
*******************************************
*******************************************
当我将其与不同的密钥库文件进行比较时,我注意到缺少“扩展”。它是什么,我该如何解决这个问题?我从客户处获得的文件是否不完整?
当我将.p12文件导入我的Mac OS X钥匙串时,我可以看到一个名为alias_name
的私钥和一个证书;虽然没有“证书链”或任何东西。
我尝试了以下命令:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore data_dirs / ff.keystore /path/to/QtApp-release-unsigned.apk alias_name
jarsigner:找不到证书链:alias_name。 alias_name必须引用包含私钥和相应公钥证书链的有效KeyStore密钥条目。
答案 0 :(得分:0)
创建密钥库时,还可以使用适当的密码在该密钥库中创建别名。我假设" alias_name"不是该别名的名称。您需要向客户端询问该名称和密码,以使用该别名和密钥库对apk进行签名。