java - JCE 无法验证提供商 ABA

标签 java cryptography jce

我必须运行一个相当旧的程序代码,它使用 ABA-provider for JCE。 所有类都可以在源文件夹中找到。但是,会出现 NoSuchProviderException:“JCE 无法验证提供程序 ABA”。

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

这就是我所做的:

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

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

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

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

最佳答案

ABA 似乎是 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 key TDES 之外)的有用性也已“过期”。

关于java - JCE 无法验证提供商 ABA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33870211/

相关文章:

java - 如何获取 ArrayList 中对象的属性和值?

java - 使用JCE对数据进行RC5加解密

java - 加密文件夹并使用java应用程序打开

Java Swing GUI,根据单击的按钮更改显示。实现这一点的理想方法是什么?

java - 如何重构这段java代码

java - 为什么我无法访问 Docker 中的端点?

python - 将 PEM 文件转换为 DER

python - 大数的模幂

java - android N 中解密失败

java - 如何在Java中使用PKCS#11 CKM_AES_KEY_WRAP机制?