Java安全类强制转换异常

Wil*_*n60 3 java security encryption rsa

嗨,我是Java安全的初学者,我在调用时遇到以下问题:

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

java.lang.ClassCastException: com.sun.crypto.provider.RSACipher cannot be cast to javax.crypto.CipherSpi

在我的war文件中还有5个用于支付网关加密的jar文件:

  • CRYPTIX-JCE-api.jar文件
  • CRYPTIX-JCE-provider.jar
  • CRYPTIX-消息api.jar文件
  • CRYPTIX-的OpenPGP-provider.jar
  • CRYPTIX-PKI-api.jar文件

如果没有这5个JAR文件,那么Cipher.getInstance()可以工作,但这是不可能的,因为我需要JAR来进行支付信息加密.

那里的任何人都可以告诉我如何克服这个问题的道路?

Ami*_*Ami 12

Powermockito无法增强javax.crypto类,因此您可以在类级别添加以下注释:

@PowerMockIgnore("javax.crypto.*") or @PowerMockIgnore({"javax.crypto" })


Wil*_*n60 1

感谢所有的评论和回答。
最后,我将 5 个 Jars 从 WAR 文件移至服务器 Jars 库目录并解决了这个问题。
中间有一个java.lang.RuntimeException: NYI.
使用这里的解决方案解决了这个问题:http://javabeanz.wordpress.com/2009/06/11/java-lang-runtimeexception-nyi/
希望这对任何人都有帮助。
再次感谢!