2012-12-17 61 views
0

我收到以下錯誤,當我嘗試連接雅虎連接失敗;嵌套的例外是:javax.net.ssl.SSLHandshakeException:

pop3s. plus.mail.pop.yahoo.com:995 

error while connecting to pop3 mail server javax.mail.MessagingException: Connect failed; 
nested exception is: 
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

我已經嘗試添加證書到JAVA_Home/jre/lib/security。此外,當我試圖直接使用相同的代碼使用Java/javac Cmd它的作品。但從tomcat它不起作用。

另外:我使用的代碼在過去兩年以來一直在同一臺服務器上運行。最近我們已經從專用服務器遷移到基於雲的服務器。 Backspace是我們部署代碼的供應商。

在此先感謝! Vivek Agrawal

回答

0

最可能的原因是系統無法找到有效的證書,因爲在遷移過程中,與密鑰庫相關的內容未正確設置。

檢查您的配置文件$ CATALINA_BASE/conf/server.xml並查看是否在連接器標記下設置了正確密鑰庫的路徑。如果你在一個文件中使用JSSL看看這個

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> 
<Connector 
      port="8443" maxThreads="200" 
      scheme="https" secure="true" SSLEnabled="true" 
      keystoreFile="${user.home}/.keystore" keystorePass="changeit" 
      clientAuth="false" sslProtocol="TLS"/> 

你keystoreFile必須設置,以便正確的路徑您的應用程序可以驗證AMD在請求解析certificacion路徑(keystorepass必須是正確的太, 確實)。

如果您有其他的配置(APR或東西)在文檔看關於http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

希望這有助於, 乾杯!

+0

感謝您的快速回復。您提到的連接器標籤用於外出連接或傳入連接。 –

+0

這裏我試圖使用JAVA MAIL API連接到Yahoo pop 3服務器。連接器標籤的變化會對我有所幫助。僅供參考,目前該連接器標籤已被註釋掉。如果在之前的安裝和配置中連接器標籤已被評論,然後將它留下評論,那麼甚至在該標籤被評論爲 –

+0

之前它也工作得很好......也許你的keystore在另一個地方,查找catalina.sh啓動文件並查看是否有任何指向有效密鑰庫的java命令參數。 –

相關問題