2014-10-20 70 views
0

請在重複此操作之前閱讀我的問題。 使用自簽名證書時,我已閱讀了許多有關此錯誤的問題和解答。但是,我的問題是,當試圖連接到GMAIL imap服務器時出現此錯誤。所以,我真的需要一些幫助。我的代碼是:Android JavaMail應用程序 - CertPathValidatorException:未找到證書路徑的信任錨點

private String[] ReadMailbox(String MailboxName) throws IOException { 
    Properties props = new Properties(); 
    props.setProperty("mail.store.protocol", "imaps"); 
    props.setProperty("mail.imaps.port", "993"); 
    List<String> FromAddressArrList = new ArrayList<String>(); 

    props.setProperty("mail.store.protocol", "imaps"); 
    try { 
     Session session = Session.getInstance(props, null); 
     Store store = session.getStore(); 
     store.connect("imap.gmail.com", "username", "password"); 
     ActiveMailbox = store.getFolder(MailboxName); 
     ActiveMailbox.open(Folder.READ_ONLY); 
     Message[] messages = ActiveMailbox.getMessages(); 
     for (int i = 0; i < messages.length; i++) { 
      Message message = messages[i]; 
      Address[] from = message.getFrom(); 
      FromAddressArrList.add(from[0].toString()); 
     } 
     //ActiveMailbox.close(true); 
     store.close(); 
    } catch (NoSuchProviderException e) { 
     FromAddressArrList.add(e.toString()); 
    } catch (MessagingException e) { 
     FromAddressArrList.add(e.toString()); 
    } 
    String[] FromAddressArr = new String[FromAddressArrList.size()]; 
    FromAddressArrList.toArray(FromAddressArr); 
    return FromAddressArr; 
} 

我收到此錯誤信息:

javax.mail.MessagingException的:java.security.cert.CertPathValidatorException:認證路徑信任錨沒有找到;嵌套異常爲:javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:找不到證書路徑的信任錨點。現在

,我現在這個可以當有涉及自簽名證書的發生,但爲什麼會嘗試連接到Gmail時此消息?你能幫我申請我的申請嗎?

回答

3

可能有一個防火牆或防病毒或代理程序攔截您的連接到您的郵件服務器並提供其證書而不是Gmail證書的請求。使用InstallCert程序來查看它提供給您的證書。

另一種可能性是信任存儲庫爲空或丟失或配置不正確,這就是爲什麼它找不到信任錨。

+0

你說得對! Avast Antivirus阻止我的應用程序,但我不明白爲什麼。禁用它解決了這個問題! – milosh 2014-10-20 23:32:21

0

禁用諾頓智能防火牆解決問題

相關問題