Unser neues Testprogramm soll neben Website-Checks auch prüfen, ob E-Mails in einer POP3 Mailbox landen. - Ungesichert kein Problem, aber sobald das Protokoll auf pop3s gestellt wird, erscheint folgende Fehlermeldung:

unable to find valid certification path to requested target

Wir nutzen in diesem Fall ein SSL-Zertifikat von Startcom. Um das Problem zu lösen, erstellen wir zunächst einen eigenen Keystore, in Anlehnung an die Anleitung von Michael Pilat:

keytool.exe -import -trustcacerts -file crt/startcom-2007-ca.crt -alias StartcomCA -keystore crt/cacerts.jks

Das Verzeichnis crt liegt unterhalb des Eclipse Projektverzeichnisses. Die Startcom CA.crt haben wir dorthin kopiert und in startcom-2007-ca.crt umbenannt. Unser Ziel-Zertifikatsspeicher heißt cacerts.jks.

Sobald das erledigt ist, teilen wir Java mit, dass der neu erstellte Zertifikatsspeicher verwendet werden soll:

System.setProperty("javax.net.ssl.trustStrore", "crt/cacerts.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");

Jetzt funktioniert der POP3 E-Mail Abruf mit Java auch SSL-gesichert.