gpt4 book ai didi

java - JAR 文件 list 不包含权限属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:49:42 25 4
gpt4 key购买 nike

我有一个用于签名和加密文件的小程序。将 java 更新到 7u45 后,我的小程序收到警告消息:“此应用程序将在未来的 Java 安全更新中被阻止,因为 JAR 文件 list 不包含权限属性

然后我添加了以下属性:

Permissions: all-permissions
Application-Library-Allowable-Codebase: *
Application-Name: Signature-Chiffrement
Caller-Allowable-Codebase: *
Codebase: *

到主 jar 和所有 jar 依赖项,之后我重新签署了所有 jar。

但是警告消息并没有消失,因为“bcprov-ext-jdk16-140.jar”不是由受信任的签名者签名的,这里是个异常(exception):

java.security.NoSuchProviderException: JCE cannot authenticate the provider BC ....
Caused by: java.util.jar.JarException: bcprov-ext-jdk16-140.jar is not signed by a trusted signe…

显然“bcprov-ext-jdk16-140.jar”是由充气城堡签署的。我尝试使用另一个充气城堡 jar ,但不幸的是,所有这些 jar 都不包含权限属性。

  • 有没有办法添加权限属性充气城堡之前签署的“bcprov-ext-jdk16-140.jar”?或者获取具有所需 list 属性的新 bcprov-ext JAR?
  • 是否可以在一个地方添加权限属性,例如我们的主 jar 依赖于其他 jar?

预先感谢您的帮助

最佳答案

为了执行包含加密提供程序作为小程序的 Bouncy caSTLe jar,我们需要对该 jar 签名两次。

第一个签名(加密提供商)必须使用 oracle ( http://www.oracle.com/technetwork/java/javase/tech/getcodesigningcertificate-361306.html ) 颁发的特定证书

第二个签名用于 java 插件安全执行要求,可以通过任何 CA 认可的供应商(例如 verisign 等...)颁发的证书来完成。

Bouncy caSTLe bcprov-ext-jdk16-140.jar 由 oracle jce 代码签名证书签名,但是当我们更改 list 以添加一些参数时,我们破坏了这个签名。为了避免这种异常,我们还需要使用 JCE 代码签名对我们的 jar 进行签名。

关于java - JAR 文件 list 不包含权限属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com