java中密钥库、信任库的配置错误
我想访问ssl Web服务java中密钥库、信任库的配置错误,java,web-services,webservice-client,keystore,webservices-client,Java,Web Services,Webservice Client,Keystore,Webservices Client,我想访问ssl Web服务 我已经在Netbeans中生成了客户端绑定 生成JKS并将客户端pfx文件导入client.JKS 与ckeystorepwd和calias合作 Webservice Producer已与srvalias和srvkeystrepwd共享server.jks 我已经在NetBeans IDE中配置了密钥库和信任库,我 运行Main.java和 我可以使用Web服务。我想在没有NetBeansIDE的情况下使用webservice。我需要将击键和信任库(client.jk
System.setProperty("-Djavax.net.ssl.keyStore",JKSFILE);
System.setProperty("-Djavax.net.ssl.keyStorePassword",JKSPWD);
System.setProperty("javax.net.ssl.keyStoreType", "JKS");
System.setProperty("-Djavax.net.ssl.trustStore",JKSFILET);
System.setProperty("-Djavax.net.ssl.trustStorePassword",JKSPWDT);
System.setProperty("javax.net.ssl.requireClientAuth", "true");
System.setProperty("com.sun.xml.ws.transport.http.client.
HttpTransportPipe.dump","true");
URL u;
u = new URL(MAIN_URL);
IWebService service = new
WebService(u).getWS2007HttpBindingIWebService();
错误
SEVERE: WSS1906: Invalid key provided for encryption/decryption.
java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at com.sun.xml.ws.security.opt.impl.enc.CryptoProcessor.initCipher(CryptoProcessor.java:125)
at com.sun.xml.ws.security.opt.impl.enc.CryptoProcessor.encryptData(CryptoProcessor.java:269)
at com.sun.xml.ws.security.opt.impl.enc.CryptoProcessor.encrypt(CryptoProcessor.java:153)
at com.sun.xml.ws.security.opt.impl.util.CVDataHandler.writeTo(CVDataHandler.java:69)
at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source)
at javax.activation.DataHandler$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception in thread "DataHandler.getInputStream" com.sun.xml.wss.impl.XWSSecurityRuntimeException: Unable to calculate cipher value as invalid key was provided
您可能必须安装无限强度加密策略文件: 由于美国出口法禁止加密,Java没有提供强加密功能,但您可以通过替换上面下载的
$Java\u HOME/lib/security
中的local\u policy.jar
和US\u export\u policy.jar
来单独启用该功能,从而解决了该问题
我使用的JVM与复制策略jar的JVM不同
Eclipse环境中JCE-6配置的一部分
现在我已经更改了项目的JRE,并且能够毫无问题地运行程序
C:\ProgramFiles(x86)\Java\jdk1.6.0\u 33\bin\Java-jar“WSClient.jar”
非常感谢您的回复,但我已经配置了JCE并替换了策略jar。[连结]