当我试图在spring ws配置中添加安全加密Sym算法时,它会给出以下异常:
Caused by: org.apache.ws.security.WSSecurityException: Cannot encrypt data; nested exception is:
org.apache.xml.security.encryption.XMLEncryptionException: Illegal key size or default parameters
Original Exception was java.security.InvalidKeyException: Illegal key size or default parameters
at org.apache.ws.security.message.WSSecEncrypt.doEncryption(WSSecEncrypt.java:599)
at org.apache.ws.security.message.WSSecEncrypt.doEncryption(WSSecEncrypt.java:459)
at org.apache.ws.security.message.WSSecEncrypt.encryptForInternalRef(WSSecEncrypt.java:348)
at org.apache.ws.security.message.WSSecEncrypt.build(WSSecEncrypt.java:309)
at org.apache.ws.security.action.EncryptionAction.execute(EncryptionAction.java:62)
... 20 more
Caused by: org.apache.xml.security.encryption.XMLEncryptionException: Illegal key size or default parameters
Original Exception was java.security.InvalidKeyException: Illegal key size or default parameters
at org.apache.xml.security.encryption.XMLCipher.encryptData(Unknown Source)
at org.apache.xml.security.encryption.XMLCipher.encryptData(Unknown Source)
at org.apache.xml.security.encryption.XMLCipher.encryptElement(Unknown Source)
at org.apache.xml.security.encryption.XMLCipher.doFinal(Unknown Source)
at org.apache.ws.security.message.WSSecEncrypt.doEncryption(WSSecEncrypt.java:593)
... 24 more
答案 0 :(得分:2)
这有用吗?:http://blog.rampartfaq.com/2009/08/faq-001-javasecurityinvalidkeyexception.html
您需要使用Java Cryptography Extension(JCE)Unlimited Strength Jurisdiction Policy Files修补JDK。
答案 1 :(得分:1)
使用“Java Cryptography Extension(JCE)Unlimited Strength Jurisdiction Policy Files 6”更新JDK库后,问题得以解决。
您可以从http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
下载库答案 2 :(得分:0)
这是一个非常老的问题(答案中的链接不起作用或未提供最新Java版本的详细信息)。
我最近遇到了这个问题,想添加更多详细信息。
根本原因: Java 8和更早版本默认情况下不支持具有256位AES加密的密钥。仅支持128位AES加密。
解决方案: 可以通过安装Oracle Java JCE无限强度jar解决此问题。按照链接下载Java 8和更早版本的jar:Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files。
Jar文件可用于Java版本6、7和8。
通过接受许可协议下载zip文件,解压缩并将这些jar文件复制到 $ JAVA_HOME / jre / lib / security / 目录。重新启动应用程序(如果已运行),以使jar生效。
Java 9和更高版本默认情况下使用无限策略文件。