[英]Certificate chain not found, but keystore contains private key
我试图签署我的apk,所以我可以用这个命令发布我的应用程序的更新: jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myrelease-key.keystore CordovaAppreleaseunsigned.apk alias_name
但是收到此错误:
jarsigner: Certificate chain not found for: ¡sigalg. ¡sigalg must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
我刚搬到新电脑,所以我将.keystore文件复制到了它。 当我做keytool -list -v
它似乎包含私钥,所以我不明白什么是错的..是否缺少公钥?
显然这是一个编码问题。 该命令包含看起来类似于减号(ASCII代码0x2D)的字符,但实际上是许多短划线或连字符之一( http://en.wikipedia.org/wiki/Dash )。
由于错误的字符代码,jarsigner不会将第一个参数“ -verbose
”识别为选项,而是将jar文件的名称和“ -sigalg
”识别为别名:
Usage: jarsigner [options] jar-file alias
这解释了为什么错误消息中的别名是“ ¡sigalg
”而不是命令的实际别名,并且在开头包含一个倒置的感叹号(这在另一个字符集中曾经是“ - ”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.