【问题标题】:Code signing certificate has to be imported from Java console to view Publisher correctly and avoid signature error必须从 Java 控制台导入代码签名证书才能正确查看 Publisher 并避免签名错误
【发布时间】:2014-01-24 02:54:27
【问题描述】:

我们已经购买了一个代码签名证书,并且我使用jarsigner 命令和 .pfx 格式的证书,使用此证书签署了一个 Applet jar。但是当小程序在浏览器中加载时,它显示“发布者未知”和“无法验证数字签名”错误。如果我从 Java 控制面板 -> 安全 -> 证书 -> 签名者 CA 导入证书,则发布者开始正确显示并出现“数字签名已验证”消息。

我的问题是,当我们使用受信任的证书对 jar 进行签名时,为什么还要导入证书才能看到正确的结果?它不应该正确显示发布者/正确验证签名,即使不必导入它?

【问题讨论】:

  • “我的问题是,当我们使用受信任的证书对 jar 进行签名时,为什么还要导入证书才能看到正确的结果?” 你不应该需要。 “难道它不应该正确地显示发布者/正确验证签名,即使不必导入它?” 是的。 -- 你确定你已经完全清除了测试机器上缓存的小程序版本吗? (或者最好)你能在从未安装过小程序的机器上试试吗? -- 问题机器运行的确切 Java 版本是什么?
  • 我完全清除了浏览器和 java 控制台的缓存。(Java 控制台-> 临时 Internet 文件-> 设置-> 删除文件)。我正在使用 Java 6,更新 20。
  • “我使用的是 Java 6,更新 20。” 为什么?最好让 Java 保持最新,而 Java 6 已过时。 Java 6 的最后一个公开版本是 1.6.0_45,远远超出了 1.6.0_20 版本。
  • 我用 java 6 对 jar 进行签名,因为我们的项目中正在使用它进行开发。但是客户端(我从中访问 Web 应用程序的浏览器)具有 java 7

标签: java security applet certificate code-signing


【解决方案1】:

我的问题得到了解决。 我用来签署 jar 的证书(.pfx 格式)存在问题。 从 CA 站点生成此证书时,未选中“在路径中包含所有证书”复选框。因此,证书没有小程序 jar 中签名验证所需的完整链。

以下命令可用于在 .pfx 文件中显示证书的详细信息 openssl pkcs12 -in <pfx_file_name>.pfx -nodes

有问题的证书,仅列出了 1 个证书;而后来生成的证书则拥有完整的 3 个证书链。

【讨论】:

    猜你喜欢
    • 2014-03-24
    • 2012-07-31
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多