gpt4 book ai didi

java - KeyGenerator 返回 java.security.NoSuchAlgorithmException : no such algorithm for BouncyCaSTLe

转载 作者:行者123 更新时间:2023-12-02 12:13:06 24 4
gpt4 key购买 nike

我正在尝试在我的 Java 项目中使用 BouncyCaSTLe,通过执行以下操作来使用 KeyGenerator 生成 AES key :

KeyGenerator gen = KeyGenerator.getInstance("AES", BouncyCastleProvider.PROVIDER_NAME);

然而,这不断返回:

java.security.NoSuchAlgorithmException: no such algorithm: AES for provider BC

我绝对确保我的 java.security 文件为:

security.provider.1=sun.security.provider.Sun
security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=sun.security.rsa.SunRsaSign
security.provider.4=sun.security.ec.SunEC
security.provider.5=com.sun.net.ssl.internal.ssl.Provider
security.provider.6=com.sun.crypto.provider.SunJCE
security.provider.7=sun.security.jgss.SunProvider
security.provider.8=com.sun.security.sasl.Provider
security.provider.9=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.10=sun.security.smartcardio.SunPCSC
security.provider.11=apple.security.AppleProvider

并且 bcprov-jdk15on-1.47.jar 位于/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/ext

在我的代码中,我还使用了

Security.addProvider(new BouncyCastleProvider());

如果我在使用 Security.getProviders() 运行代码时尝试列出所有提供程序,我会看到:

SUN
BC
SunRsaSign
SunEC
SunJSSE
SunJCE
SunJGSS
SunSASL
XMLDSig
SunPCSC
Apple

所以在这一点上,我不确定我还可能错过了什么。

请帮忙,谢谢

最佳答案

其实是我的错,我想我已经解决了我自己的问题。我的问题也应该更清楚。我正在 Junit 测试中运行它,并想知道为什么它失败了。

显然,PowerMock 已经模拟了所有 javax.crypto.* 库,我不得不告诉 PowerMock 显式忽略这些库,现在它可以正常工作了:|

关于java - KeyGenerator 返回 java.security.NoSuchAlgorithmException : no such algorithm for BouncyCaSTLe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46385072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com