sun.security.validator.ValidatorException: No trusted certificate found

剛剛開始做企業網站,修改ssn checknumer,遇到這個錯誤:



faultString: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found

按照網上的方法,

%JAVA_HOME%/bin/keytool -import -file service.crt -keystore D:/test/urltest/crt

生成crt后,

在java代碼和被調用的jar代碼中加入

       System.setProperty("javax.net.ssl.trustStore","D:/tools/cacerts");
       System.setProperty("javax.net.ssl.trustStorePassword","changeit");

但是問題沒有解決,仍然出現錯誤

發現因為是本地目錄,服務器上運行出錯,

修改目錄,

System.setProperty("javax.net.ssl.trustStore","/home/weblogic/bea/user_projects/domains/appsdomain/cer");

運行,不行,還是找不到


本地編譯發現兩個方法的作用一樣:

1,代碼中加入

System.setProperty("javax.net.ssl.trustStore","D:/tools/cacerts");
       System.setProperty("javax.Net.ssl.trustStorePassword","changeit");

2、在java的build目錄下
keytool -import -file service.crt -keystore j2sdk1.4.2_05\jre\lib\security\cacerts
代碼中不必添加System.setProperty

服務器上修改cer文件目前還沒有權限,先按照1修改不行

在代碼中加入

+          System.out.println(System.getProperty("user.dir"));
+          System.out.println(System.getProperty("java.home"));
+          System.out.println(System.getProperty("java.library.path"));

打印出來的結果如下:

/home/weblogic/bea/user_projects/domains/appsdomain
/home/weblogic/bea/jdk142_11/jre
/home/weblogic/bea/jdk142_11/jre/lib/i386/client:/home/weblogic/bea/jdk142_11/jre/lib/i386:/home/weblogic/bea/jdk142_11/jre/../lib/i386:/home/weblogic/bea/weblogic81/server/lib/linux/i686:/home/weblogic/bea/weblogic81/server/lib/linux/i686/oci920_8

但是字節設置目錄home/weblogic/bea/user_projects/domains/appsdomain/cer為什麼失敗還是不清楚,

用keytool -imaport -file *.cer -keystore cacerts  然後替換掉->>>home/weblogic/bea/jdk142_11/jre/lib/security/cacerts

再次運行,這次終於OK







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值