我有一个来自 GoDaddy 的代码签名证书,该证书已于 2 月份过期,我用它来签署 JAVA jar 文件,并将其复制到 ftp 服务器 并将它们作为小程序运行。一切正常。
一月份我续订了一年。
尽管如此,我还是按照 GoDaddy 指南中的建议进行了操作(下载 zip 文件,解压并将其导入到 keystore 中) 它不起作用,在签署 jar 文件时它仍然给我警告,我的证书将在六个月后过期。
因此,我决定重新加密我的证书,并严格按照 GoDaddys 网站上的步骤进行操作: 首先,我创建了一个新的 keystore ,以重新开始:
keytool -genkey -alias sboda -keyalg RSA -keysize 2048 -keystore keystore.jks
然后我输入了所需的信息,例如姓名、组织等。 并生成CSR文件
keytool -certreq -alias sboda -file file.csr -keystore keystore.jks
此后,我将 CSR 复制粘贴到网站上的 CSR 框中,并要求重新生成 key 。
下载并解压 ZIP 文件,将其导入到新创建的 keystore 中
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 支持两次,但他们并没有真正帮助,所以我想我也在这里问...
最佳答案
与此同时,感谢其他供应商的文档,我明白了这一点。 而不是
keytool -importcert -file filename.pem -keystore keystore.jks
使用
keytool -import -v -trustcacerts -alias alias -file filename.pem -keystore keystore.jks
希望其他人不会遇到这个问题,我为此浪费了半天时间。
关于java - 更新的代码签名证书不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42716489/