相关疑难解决方法(0)

SecretKeyFactory.getInstance()在单元测试中抛出所有算法的异常

由于某种原因,无论指定什么算法,我总是在调用SecretKeyFactory.getInstance()时在单元测试中获得异常.例如:

SecretKeyFactory.getInstance("PBEWITHMD5ANDDES")

com.mhe.connect.util.EncryptionException: java.security.NoSuchAlgorithmException: PBEWITHMD5ANDDES SecretKeyFactory not available
Run Code Online (Sandbox Code Playgroud)

同时,我看到Security.getProviders()返回我需要的算法:

SECRETKEYFACTORY.DESEDE SunJCE
SECRETKEYFACTORY.PBEWITHMD5ANDDES SunJCE
SECRETKEYFACTORY.DES SunJCE
SECRETKEYFACTORY.PBEWITHMD5ANDTRIPLEDES SunJCE
SECRETKEYFACTORY.PBKDF2WITHHMACSHA1 SunJCE
SECRETKEYFACTORY.PBEWITHSHA1ANDDESEDE SunJCE
SECRETKEYFACTORY.PBEWITHSHA1ANDRC2_40 SunJCE
Run Code Online (Sandbox Code Playgroud)

这仅在单元测试(来自Maven或IDE)中发生,并且如果代码在Jetty下运行(从相同的Maven/JDK运行),则可以正常工作.

这种行为可能是什么原因?

java security powermock

6
推荐指数
1
解决办法
4484
查看次数

标签 统计

java ×1

powermock ×1

security ×1