更新的代码签名证书不起作用

Posted

技术标签:

【中文标题】更新的代码签名证书不起作用【英文标题】:Renewed code signing certificate does not work 【发布时间】:2017-03-10 10:48:00 【问题描述】:

我有一个来自 GoDaddy 的代码签名证书,该证书于 2 月到期,我用它来签署 JAVA jar 文件,并将其复制到 ftp 服务器 并将它们作为小程序运行。一切正常。

一月份我续订了一年。

尽管事实上,我还是按照 GoDaddy 指南中的建议进行了操作(下载了 zip 文件,解压缩,然后将其导入密钥库) 它不起作用,在签署 jar 文件时它仍然给我警告,我的证书将在六个月后过期。

所以我决定重新加密我的证书,并完全按照 GoDaddys 网站上的步骤操作: 首先,我创建了一个新的密钥库,以重新开始:

keytool -genkey -alias sboda -keyalg RSA -keysize 2048 -keystore keystore.jks

然后我输入了所需的信息,例如姓名、组织等。 并生成 CSR 文件

keytool -certreq -alias sboda -file file.csr -keystore keystore.jks

之后,我将 CSR 复制粘贴到网站上的 CSR 框中,并要求重新输入密钥。

下载并解压 ZIP 文件,将其导入到新创建的密钥库中

keytool -importcert -file filename.pem -keystore keystore.jks 

我信任证书,并且证书已导入。 我在 jar 上签名了

jarsigner -verbose -keystore ./keystore.jks -tsa http://tsa.starfieldtech.com/ ~/workspace/example.jar sboda

它给了我警告: 警告: 签名者证书将在六个月内到期。

当我尝试启动小程序时,我将 jar 文件复制到服务器,并出现此错误:

之前签名的其他小程序运行良好... 我错过了什么吗?

已经联系过两次 GoDaddy 支持,但他们并没有真正提供帮助,所以我想我也在这里问...

【问题讨论】:

【参考方案1】:

与此同时,感谢其他供应商的文档,我想通了。 而不是

keytool -importcert -file filename.pem -keystore keystore.jks 

使用

keytool -import -v -trustcacerts -alias alias -file filename.pem -keystore keystore.jks

希望其他人不会遇到这个问题,我用它迷路了半天。

【讨论】:

您是否必须重新开始整个过程​​?我和你在同一条船上,并且不愿意为此经历重新发送 CSR 给 Godaddy 的过程。实际上此刻正在和他们通电话 @Matt 对不起,我在度假,希望你在此期间管理好。如果没有,不,您不必再次经历整个过程,只需从下载 zip 文件时的部分... 是的,谢谢。我不记得我发布该评论的步骤是什么,但我最终还是把它摆平了。

以上是关于更新的代码签名证书不起作用的主要内容,如果未能解决你的问题,请参考以下文章

带有自签名证书的 InternetOpenUrl

带有自签名证书的 Telegram bot webhook 不起作用

向 iphone Simulator 添加自签名证书?

天威诚信代码签名证书助手操作指南

无效签名,自签名证书?

代码签名问题:开发者证书已过期,求助?