Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中密钥库、信任库的配置错误_Java_Web Services_Webservice Client_Keystore_Webservices Client - Fatal编程技术网

java中密钥库、信任库的配置错误

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

我想访问ssl Web服务

  • 我已经在Netbeans中生成了客户端绑定
  • 生成JKS并将客户端pfx文件导入client.JKS 与ckeystorepwd和calias合作
  • Webservice Producer已与srvalias和srvkeystrepwd共享server.jks
  • 我已经在NetBeans IDE中配置了密钥库和信任库,我 运行Main.java和
  • 我可以使用Web服务。我想在没有NetBeansIDE的情况下使用webservice。我需要将击键和信任库(client.jks、server.jks)配置为 务实的环境

    我已经在Main.java中包含了以下代码,但它给出了以下错误,请指导我如何配置击键truststore

    Main.java代码

    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。[连结]