今天安裝了公司的數(shù)字證書菠发,用 myeclipse 調(diào)試程序時驯镊,出現(xiàn)錯誤:
解決PKIX:unable to find valid certification path to requested target 的問題
根據(jù)錯誤消息看,貌似是找不到數(shù)字證書柜某∥樯耍可奇怪的是數(shù)字證書我已經(jīng)導(dǎo)入了啊抛杨,為何還出現(xiàn)這樣的情況了。可能的原因:
一肃叶、公鑰是否正確蹂随?是否是網(wǎng)站出來的公鑰?
如何從網(wǎng)站導(dǎo)出公鑰因惭,參見: blog.csdn.net/faye0412/ar…
二岳锁、如何導(dǎo)入的公鑰?導(dǎo)入到哪兒呢蹦魔?
仔細(xì)想想看:使用如下命令導(dǎo)入公鑰:
keytool -``import` `-file d:\Server.cer -keystore ``"%JAVA_HOME%\jre\lib\security\cacerts"` `-alias server
將公鑰導(dǎo)入到了 %JAVA_HOME%\jre\lib\security\cacerts 文件中激率。
使用如下命令可以看到結(jié)果:
keytool -list -keystore ``"%JAVA_HOME%\jre\lib\security\cacerts"` `| findstr /i server
如果看到紅色框內(nèi)容,就說明的確導(dǎo)入成功了勿决。
那為何 myeclipse 不承認(rèn)呢乒躺?
三、環(huán)境不一致低缩?
再想想應(yīng)用程序的啟動過程嘉冒,通過 myeclipse 啟動 tomcat,進行瀏覽的咆繁。而 myeclipse / tomcat 都基于 java 讳推,而 myeclipse 有自帶的 jdk ,啟動時會不會是使用了 myeclipse 的jdk玩般,而不是 %JAVA_HOME% 目錄下的呢银觅?檢查之:
myeclipse -> windows -> preferences -> tomcat -> jdk
看到下拉框后,我恍然大悟壤短,哈哈设拟,myeclipse 啟動tomcat 時,用的是 Sun JDK 1.6.0_13 久脯,而不是 jdk1.6.0_43(%JAVA_HOME% 指向的jdk目錄)
ok纳胧,找到問題就好說了,果斷選擇 jdk1.6._43 帘撰,重啟 tomcat