java - 提供 JCE 策略而不修补 JRE

标签 java security jce build-server

在我的项目中,我遇到了一些密码学问题,我通过 using "JCE Unlimited Strength Jurisdiction Policy Files" 修复了这些问题。在本地计算机上,我刚刚替换了 jre/lib/security 目录中的一些 JAR。但是,我还需要在持续集成构建服务器(在我的例子中为 Teamcity,但我想这不是很重要)上构建(准确地说,运行测试)我的项目,这意味着在每个构建的 JRE 目录中修补 jar代理,这根本不是一个好的选择。

有没有办法在不修补 JRE 的情况下指定这些 JCE 策略?

最佳答案

根据Java Cryptography Architecture (JCA) Reference GuideHow to Make Applications "Exempt" from Cryptographic Restrictions ,您可以将声明豁免的策略文件与应用程序的 JAR 捆绑在一起,但随后必须对该 JAR 进行签名,并且甚至不确定 Oracle 的默认加密提供程序是否支持此操作:

(NOTE: The SunJCE provider does not supply an implementation of the ExemptionMechanismSpi class.)

不用说,我还没有测试过这种方式...;)这看起来比替换两个文件要复杂得多。我总是在所有 JVM 上安装管辖策略文件,但我使用 Debian Alternatives System让这些文件自动替换 JDK 提供的文件。这使得升级不再那么痛苦。

关于java - 提供 JCE 策略而不修补 JRE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25118536/

相关文章:

java - 获取自 UTC 日期的 EPOCH 以来返回错误结果的毫秒数?

Java - 带有数组列表的二进制文件 I/O

security - 如果 OpenID Connect id_token 和 access_token 标记为仅 HTTP,我是否可以将其安全地存储在 cookie 中?

security - 那么仅在客户端上验证表单是否安全?

amazon-web-services - Lambda 函数所承担的角色的 ARN 是什么?

Java 1.7 + JSCH : java. security.InvalidKeyException: Key is too long for this algorithm

java - 使用 Red5 媒体服务器进行流中继

java - 使用 Font Awesome 5 SVG 作为 JavaFX 按钮形状

java - 如何在 OS X 中为 Java 8 安装无限强度的 JCE?

java - Sunpkcs11 提供商是否与 AWS CloudHSM 兼容?