【问题标题】:What is JCE Code Signing CA?什么是 JCE 代码签名 CA?
【发布时间】:2013-12-11 16:16:30
【问题描述】:

我有一个由以下证书链签名的小程序:

Softkey-Kazakhstan (JCE Code Signing CA) 
    Subject: CN=Softkey-Kazakhstan,OU=Java Software Code Signing,O=Sun Microsystems Inc
    Issuer: CN=JCE Code Signing CA,OU=Java Software Code Signing,O=Sun Microsystems Inc,L=Palo Alto,ST=CA,C=US

JCE Code Signing CA (JCE Code Signing CA)
    Subject: CN=JCE Code Signing CA,OU=Java Software Code Signing,O=Sun Microsystems Inc,L=Palo Alto,ST=CA,C=US
    Issuer: CN=JCE Code Signing CA,OU=Java Software Code Signing,O=Sun Microsystems Inc,L=Palo Alto,ST=CA,C=US

这个小程序包含自定义加密提供程序实现和一些额外的帮助 jars。它必须能够处理本地文件和 USB 设备。

Java 抱怨它不知道这个证书。根证书似乎是来自 Sun 的用于代码签名的合法证书,java 应该知道它,但由于某种原因它不知道。

我应该怎么做,让java不会抱怨这个applet?我应该提取这个根证书 JCE 代码签名 CA 并将其安装到 $JRE/lib/security/cacerts 中吗?

【问题讨论】:

    标签: java applet certificate jce


    【解决方案1】:

    这是个好问题。该证书是自签名的,在 Java tursted CA (cacerts) 中不是官方的。我发现即使该证书已过期,加密扩展也可以工作(没有签名就无法工作)。因此,我认为 JCE 要求加密提供者使用“JCE 代码签名 CA”进行签名,但并不关心该证书的有效性(也许它是由 JCE 内部检查而没有 cacerts)。我也明白这里不是这样。问题在于 javaws(JNLP 发行版),它需要使用受信任的链对 jar 进行签名。 Oracle 还强调 JCE 代码签名证书“该证书不适用于部署目的”(请参阅:here)。但是,如果它必须存在于分发中怎么办?正如我所说:好问题。

    编辑: 结论: 1. Cryptoproviders 必须使用“JCE Code Signing CA”进行签名,但不一定有效。 2. 如果您分发使用“JCE 代码签名 CA”签名的 jar,则证书必须有效。 JCE 标志不足以分发,但如果存在,它必须是有效的。

    【讨论】:

      猜你喜欢
      • 2013-04-06
      • 2016-01-27
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      • 2012-06-24
      • 2012-05-05
      相关资源
      最近更新 更多