spring - CryptoServicesRegistrar.isInApprovedOnlyMode() 和 CryptoServicesRegistrar.setApprovedOnlyMode(true) 已在充气城堡中删除

标签 spring security bouncycastle

正如标题所述,这两个功能已从 bouncy caSTLe v1.50 中删除,有其他选择吗?我必须使用 v1.64 或更高版本。

这是我的代码

Security.addProvider(new BouncyCastleFipsProvider());

我收到错误

java.lang.NoSuchMethodError: org.bouncycastle.crypto.CryptoServicesRegistrar.isInApprovedOnlyMode()Z

看起来BouncyCaSTLeFipsProvider()在其构造函数中调用了CryptoServicesRegistrar.isInApprovedOnlyMode(),但是这个版本中没有这个函数,我不知道为什么它会调用这个方法。 为了适应 F​​edRamp,我必须使用 FIPSpovider。 有谁知道怎么办吗?

最佳答案

有两个完全独立的提供者:

  1. “BC”,即 BouncyCaSTLeProvider,是使用非常广泛的加密 API,目前版本为 1.70 ( website )。
  2. “BCFIPS”,即 BouncyCaSTLeFipsProvider,是一组更有限的算法的符合 FIPS 标准的实现,目前版本为 1.0.2.3 ( website )。

这些不能一起使用。此外,BCFIPS 不仅仅是 BC 的直接替代品,它会突然使您的项目符合 FIPS 标准。绝大多数用户应该使用 BC。

您提到的方法仅与 BCFIPS 相关,但您正在谈论仅与 BC 相关的版本号,这意味着您对尝试使用哪些 jars/provider 感到困惑,或者您可能是尝试在同一个进程中使用两者,但这是行不通的。

关于spring - CryptoServicesRegistrar.isInApprovedOnlyMode() 和 CryptoServicesRegistrar.setApprovedOnlyMode(true) 已在充气城堡中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71063862/

相关文章:

spring - Grails上传文件异常,由springsecurity引起

java - 如何在不重新加载页面的情况下提交表单

linux - 颠覆错误 : Can't open file '/var/svn/mobilesync/db/txn-current-lock' : Permission denied

node.js - JWT 在 iOS Swift 应用程序中使用真的安全吗?

bouncycaSTLe - OCSP 响应不提供证书状态

security - 带有充气城堡的 scala 中的 AES-256 加密工作流程 : salt and IV usage and transfer/storage

jquery - Dispatcher.xml 中已弃用 DefaultAnnotationHandlerMapping

java - 使用 spring-data-jdbc 进行审计?

windows - 那么,Windows Atom 表的用途是什么?

c# - RSA SHA256 签名生成和验证