JCE 无法验证提供者 ABA

JCE cannot authenticate the provider ABA

我必须 运行 一个相当古老的程序代码,它使用 JCE 的 ABA 提供程序。 所有 类 都在源文件夹中可用。但是,出现 NoSuchProviderException:"JCE cannot authenticate the provider ABA".

我在论坛中找到了一些相关主题,但他们无法帮助我。

这是我所做的:

ABAProvider prov = new ABAProvider();
Security.addProvider(prov);

在调试模式下 prov 已初始化,但这会引发异常:

keyFactory = SecretKeyFactory.getInstance( "DES", "ABA" );

我希望这些信息可以帮助你帮助我:) 提前致谢!

A​​BA 似乎是 Java JCE 的洁净室实现。只需删除依赖项并使用您最喜欢的运行时提供的提供程序

Java 的签名证书必须续订。您不能在 Java 的新版本上使用旧证书。因此提供者上的签名可能已过期。

更多信息here

The next step is to request a code-signing certificate so that you can use it to sign your provider prior to testing. The certificate will be good for both testing and production. It will be valid for 5 years.

DES 对于大多数加密操作(可能除了创建 3 个密钥 TDES)的有用性也有 "expired"。