【问题标题】:Signed jar blocked from running by java security签名的 jar 被 java 安全阻止运行
【发布时间】:2020-02-12 11:33:57
【问题描述】:

我已经非常高兴地签署了我的 jar 文件一年左右并且没有任何问题,但最近我注意到我收到了以下警告。

现在,什么都没有改变,我没有创建任何不同的东西,我的证书是有效的,我以完全相同的方式签名,相同的 JDK 和相同的 JRE,我正在上传到相同的位置等等等等撞墙。

我尝试在不同的计算机、不同的操作系统和 JRE 上运行,结果都相同。

我还注意到并发现这特别奇怪的是,即使我添加了站点异常,我仍然会收到相同的错误。

是否有任何日志,或者是否可以启用此类日志以查明不允许应用程序运行的确切原因?

【问题讨论】:

  • 您是自签名您的罐子还是有官方证书?关于 JDK,您确定系统上没有安装其他 JRE?
  • @Lonzak 问题已解决,此后已编辑帖子,原因是解决方案。但是,在回答您的问题时,jar 已使用适当的证书进行签名。我认为我遇到这些类型问题的主要绊脚石是知道去哪里寻找,如果某处可能有日志,让像我这样的“旅行者”有公平的机会自我找错,这会让生活变得更容易:)

标签: java jar jnlp code-signing-certificate


【解决方案1】:

我的问题是由于 jar 内的清单文件和 jnlp 文件中的信息不匹配引起的,这是我自己的疏忽。 CODEBASE 和 PERMISSIONS 不同,不太确定这是怎么发生的,但猜测 Java 安全性不允许这样的应用程序使用所述不同的信息运行是有道理的。

【讨论】:

  • 您是否找到任何有助于您找出问题的日志?如果是这样,那也很有用。
  • 我没有,只是检查了所有内容,与 jnlp 文件相比,清单文件中遇到了不同的代码库,这部分是我将应用程序移动到另一个主机时所做的。如果我没记错的话,清单文件中的权限也与 jnlp 文件中的权限不匹配,虽然我不确定这些问题是否会导致这个问题,但在这种情况下纠正已解决并且已经好几个月了。不过我要补充一点,我最近再次看到了同样的问题,并且代码库确实匹配,所以这次肯定是其他原因造成的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-13
  • 1970-01-01
  • 2019-07-23
  • 2020-08-16
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
相关资源
最近更新 更多