在Linux上设置代码签名密钥库时遇到问题

时间:2015-08-10 18:33:17

标签: java linux code-signing keystore

我正在尝试在我们的linux构建服务器上设置代码签名密钥库,但我遇到了麻烦。 背景:我们使用Netbeans IDE开发一个应用程序,我们将它们作为jar文件和exe发布(使用嵌入式JRE来避免任何兼容性问题)。开发在我们的Windows 7 PC上完成,但构建服务器托管在Linux构建服务器上。我们使用Ant。 问题:我需要设置密钥库,以便相同的Ant build.xml将在我的PC上生成签名的jar文件(和exe文件),以及能够在构建服务器上生成相同的签名jar和exe文件。 我从我们的IT部门获得了一个部门pfx文件,以及一个中级和根证书。这3个项目应该提供完整的链(我认为)。 我已经尝试了各种方法将它们导入我们的Linux PC而没有运气。 我使用openssl从pfx中提取证书pem和私钥pem,并尝试将它们导入linux PC上新创建的.keystore文件,但仍然无法让jarsigner签署jar,或者signtool签署可执行程序。 当我输入:jarsigner -keystore .keystore .jar ......我明白了...... jarsigner:找不到证书链:daqkey。 daqkey必须引用包含私钥和相应公钥证书链的有效KeyStore密钥条目。 如何验证密钥库私钥是否具有正确的证书链? 我已经尝试过keytool -list命令,但我不知道在结果输出中我在寻找什么。 有人可以帮忙吗?

更多细节: 在使用jarsigner尝试签署jar文件后,我得到以下结果: smk 5763 Thu Aug 06 10:54:02 CDT 2015 com / nov / cp / daqconfigtool / resources / log-configuration.xml

  X.509, CN="myCompanyName", O="myCompanyName", L=Houston, ST=Texas, C=US (daqkey)
  [certificate is valid from 3/31/15 10:11 AM to 4/1/16 4:18 AM]
  X.509, CN=Entrust Code Signing Certification Authority - L1D, OU="(c) 2009 Entrust, Inc.", OU=www.entrust.net/rpa is incorporated by reference, O="Entrust, Inc.", C=US
  [certificate is valid from 11/11/11 9:29 AM to 11/11/21 9:28 PM]
  X.509, CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net
  [certificate is valid from 3/23/09 10:18 AM to 3/23/19 10:48 AM]
  X.509, CN=Entrust.net Secure Server Certification Authority, OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), O=Entrust.net, C=US
  [certificate is valid from 5/25/99 11:09 AM to 5/25/19 11:39 AM]

  [entry was signed on 8/7/15 9:21 AM]
  X.509, CN="myCompanyName", O="myCompanyName", L=Houston, ST=Texas, C=US (daqkey)
  [certificate is valid from 3/31/15 10:11 AM to 4/1/16 4:18 AM]
  [CertPath not validated: Path does not chain with any of the trust anchors]

有什么想法吗?

0 个答案:

没有答案