Java安全类强制转换异常
您好,我是Java安全的初学者,在调用时遇到以下问题:Java安全类强制转换异常,java,security,rsa,encryption,Java,Security,Rsa,Encryption,您好,我是Java安全的初学者,在调用时遇到以下问题: Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); 我得到了一个错误: java.lang.ClassCastException:com.sun.crypto.provider.rsaciper无法强制转换为javax.crypto.CipherSpi 我的war文件中还有5个JAR文件用于支付网关加密: cryptix-jce-api.jar cryptix-jce-
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
我得到了一个错误:
java.lang.ClassCastException:com.sun.crypto.provider.rsaciper无法强制转换为javax.crypto.CipherSpi
我的war文件中还有5个JAR文件用于支付网关加密:
- cryptix-jce-api.jar
- cryptix-jce-provider.jar
- cryptix-message-api.jar
- cryptix-openpgp-provider.jar
- cryptix-pki-api.jar
任何人都可以告诉我如何克服这个问题?Powermockito无法增强javax.crypto类,因此您可能需要在类级别添加以下注释:
@PowerMockIgnore(“javax.crypto.*)或@PowerMockIgnore({“javax.crypto”})
谢谢您的评论和回答。
最后,我将5个JAR从WAR文件移到服务器Jars库目录,并解决了这个问题。
中间有一个
java.lang.RuntimeException:NYI
。
使用以下解决方案解决:
希望这对任何人都有帮助。
再次感谢 在类级别
@PowerMockIgnore(“javax.crypto.*)
或@PowerMockIgnore({“javax.crypto”})
添加后,如果显示Jce安全异常
您可以下载此文件并在以下路径中替换本地策略jar文件和美国策略jar文件:
C:\Program Files\Java\jdk1.8.0_151\jre\lib\security
您好@Wilson60,您可能需要检查java和cryptix的版本。cryptix已经死了,而且永远都是。为什么你认为你需要它?嗨,谢谢你的回答,但这个项目是几年前开始的。谢谢所有的评论和回答。最后,我将5个JAR从WAR文件移到服务器Jars库目录,并解决了这个问题。中间有一个java.lang.RuntimeException:NYI。这是用这里的解决方案解决的:希望这对任何人都有帮助。再次感谢@威尔森60:你能不能把这个作为一个答案(然后接受这个答案),所以这个问题被标记为“已解决”?谢谢!这解决了我在加密测试环境中使用PowerMock时的问题