使用项目而不是 JDK 更新部署 JCE

JCE deployed with project instead of JDK update

我正在尝试使用 BouncyCastle 进行 AES 加密,并已从 Oracle 下载最新的 JCE 并将其本地安装在我的 Dev PC 上,一切正常。

但是,我打算在工作中将我的代码部署在客户服务器上,我认为让他们同意大量 JDK lib/security 更新并不容易。在我们这里,安全永远不会胜过成本(无论他们告诉我们什么)。

所以我的问题是,使用 Eclipse 和 JDK 1.8.11 是否可以将 JCE 打包到我的 Jar/War 文件中?

如果是怎么办?

我已经阅读了 SO 和其他地方的各种链接。大多数都已经很老了,所以我想知道在 2017 年这是否可能?

如果您的意思是 "Unlimited Strength Jurisdiction Policy Files" 使用 JCE,那么您无法通过任何类型的打包实现您的需求。这些策略文件需要安装到 运行 JVM,因此您无法以编程方式或通过不同的打包选项解决此问题。

为了实现您的需要,您必须通过他们自己的 API 使用 BC,而不是调用 JCE 函数并指定 "BC" 作为提供者,因为它会因为 [=16= 而失败] 检查。您只能直接使用 BC API(或任何其他加密库)绕过此检查。