繁体   English   中英

未找到证书链,但密钥库包含私钥

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM