在同一项目中使用 BouncyCastle 库的 FIPS 和非 FIPS 版本的潜在问题

问题描述 投票:0回答:1

我正在开发一个项目,其中 BouncyCastle Crypto 包(非 FIPS)是其他一些第三方库的依赖项。我的任务是集成 BouncyCastle FIPS 库以在我们自己的代码中使用。然而,https://www.bouncycastle.org/fips-java/BCFipsIn100.pdf第11页的文档(BC FIPS in 100 mini-book)说:

provider jar 本身没有外部依赖,但不能 与常规 Bouncy Castle 提供程序在同一 JVM 中使用。这 两个 jar 文件中的类不能兼容。

我搜索了更多这方面的信息,但没有真正找到任何有用的东西。

我还检查了https://github.com/bcgit/bc-java/issues/714,SpongyCastle 不适合我们的用例。

到目前为止,我的项目似乎正在使用 FIPS (bc-fips-1.0.2.3.jar) 和非 FIPS (bcprov-jdk15on-1.64.jar) jar。

所以我的问题是,如果项目中同时存在 FIPS 和非 FIPS jar,我到底应该预期会出现什么问题?

请注意,我的项目本身不需要符合 FIPS,只需为用户提供使用符合 FIPS 的加密技术的选项。

java cryptography bouncycastle fips
1个回答
0
投票

当第三方库(单元测试中的模拟服务器)尝试添加提供程序时,我在

BouncyCastleProvider
构造函数中遇到错误。

Fwiw,我确实在

bc-fips
中看到了一些外部依赖项,特别是在
org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier
上。我必须添加
bcprov-jdk18on
作为依赖项。也许
bc-fips
中有一个类似工作的界面我可以使用?

© www.soinside.com 2019 - 2024. All rights reserved.