Я получаю это исключение, когда пытаюсь подключиться к магазину.
Когда я просматриваю форумы, решение этой ошибки состоит в добавлении сертификата в файл доверенного хранилища используемой 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)