javax.mail.MessagingException: сбой построения пути PKIX: SunCertPathBuilderException: невозможно найти действительный путь сертификации к запрошенной цели; - PullRequest
0 голосов
/ 04 августа 2020

Я получаю это исключение, когда пытаюсь подключиться к магазину.

Когда я просматриваю форумы, решение этой ошибки состоит в добавлении сертификата в файл доверенного хранилища используемой JVM.

Проблема в том, что я новичок в этом, и я не уверен, что понимаю, как я должен это делать: Где мне взять сертификат и как его добавить?

NB: Я заметил, что когда я запускаю это с помощью основного метода, он отлично работает! Но когда я настраиваю планировщик на автоматический вызов метода, тогда я получаю исключение.

Большое спасибо за помощь.

public void receiveMails() throws Exception
    {

        Properties props = new Properties();
        props.setProperty("mail.store.protocol", "imaps");
        props.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.setProperty("mail.imaps.socketFactory.fallback", "false");
        props.setProperty("mail.imaps.ssl.enable", "false");
        props.setProperty("mail.imaps.socketFactory.port", "993");
        props.setProperty("mail.imaps.starttls.enable", "true");
        props.setProperty("mail.imaps.ssl.trust", "mailHost");

        try
        {
            
            Session session = Session.getInstance(props, null);
            Store store = session.getStore();
            store.connect("mailHost", "user@domain.com", "password");
//...

Исключение:

javax.mail.MessagingException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target;
  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
    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:479)
    at javax.mail.Service.connect(Service.java:275)
    at javax.mail.Service.connect(Service.java:156)
    

1 Ответ

0 голосов
/ 14 августа 2020

Попробуйте отключить антивирус при выполнении этой операции. Это могло быть причиной.

...