Jarsigner:找不到证书链

新手上路,请多包涵

我已将证书导入私人文件 ~/.keystore 文件:

 keytool -list
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

mylyn-mantis, Jul 15, 2010, trustedCertEntry

并试图用它签署一个 jar,但我收到“未找到证书链”错误。

 jarsigner -verbose  /home/robert/file.jar mylyn-mantis
jarsigner: Certificate chain not found for: mylyn-mantis.  mylyn-mantis must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

我怎么解决这个问题?

原文由 Robert Munteanu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 797
2 个回答

似乎您的密钥库只包含一个证书(公钥)您需要一个完整的密钥条目,一个私钥和整个证书链才能签署任何东西

原文由 Maurice Perry 发布,翻译遵循 CC BY-SA 2.5 许可协议

简答

使用您的别名密钥而不是像这样的密钥存储:

 jarsigner -verbose -keystore [Your signature storage path] -signedjar [signed filename] [unsigned filename] [Your alias key]

更多细节

以下是解决此错误的最简单方法:

  1. 转到 bin 文件夹 .. 它可能在这个路径中:

C:\Users[你的电脑名]\jdk\bin

或此路径:

C:\Program Files\Java\jre1.8.0_77\bin

  1. 为防止配置环境变量引起的问题,请将待签名的 空包你的key store 【签名私钥】复制到JDK下的 bin目录 下。

  2. 通过运行以下命令获取别名密钥:

keytool -keystore [your key store] -list -v

  1. 最后运行这个命令:

jarsigner -verbose -keystore [Your signature storage path] -signedjar [signed filename] [unsigned filename] [Your alias key]

原文由 Islam Ahmed 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题