簡體   English   中英

在Java中配置Keystore和TrustStore時出錯

[英]Error in configuration of Keystore , TrustStore in java

我想訪問SSL Web服務。

  1. 我已經在Netbeans中生成了客戶端綁定
  2. 生成的JKS並將客戶端pfx文件導入到具有ckeystorepwd和calias的client.jks中
  3. Webservice Producer與srvalias和srvkeystorepwd共享了server.jks
  4. 我已經在NetBeans IDE中配置了密鑰庫和TrustStore,並且正在運行Main.java和

我可以使用Web服務。 我想在沒有NetBeansIDE的情況下使用Web服務。 我需要實用地將Keystroe和Truststore(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

解決了這個問題,

我使用的不是在Eclipse環境中將策略jar復制為JCE-6配置的一部分的JVM。

現在,我已經更改了該項目的JRE,並且能夠毫無問題地運行該程序。

C:\\ Program Files(x86)\\ Java \\ jdk1.6.0_33 \\ bin \\ java -jar“ WSClient.jar”

您可能必須安裝無限強度加密策略文件: http : //www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

由於美國針對加密的出口法律,Java沒有提供強加密功能,但是您可以通過替換上面$JAVA_HOME/lib/security的下載local_policy.jarUS_export_policy.jar來分別啟用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM