2009-08-15 12 views
2

Ich benutze Javamail, um einen IMAP-Posteingang zu prüfen, und im Moment melde ich mich einfach beim IMAP-Server an, indem ich den Benutzernamen und das Passwort speichere. Unsere Sicherheitspolitik bei der Arbeit erfordert jedoch eine Kerberisierung.Javamail, IMAP und Kerberos

Ich habe auf Javamail, IMAP und Kerberos gelesen, und einige Ressourcen sagen, dass es nicht möglich ist, während andere vorschlagen, dass es möglich ist. Und leider konnte ich keine Beispiele finden, die zeigen, wie man über verbindet. Kerberos.

Ich habe mich nur gefragt, ob irgendjemand bestätigen/leugnen könnte, ob es möglich ist, sich mit einem IMAP Server zu verbinden. kerberos mit javamail, und wenn jemand auf irgendwelche Ressourcen gestoßen ist, die nützlich sein könnten, würde es sehr geschätzt werden.

Danke,

Martin.

Antwort

4

Es ist theoretisch möglich, in Java 1.5 oder höher und Kerberos v5 von mail.imap.sasl.mechanisms Eigentum von JavaMail IMAP provider zu GSSAPI (docs) Einstellung und Verwendung JAAS and Java GSS API für die Authentifizierung, aber es ist eine absolute Hündin zu implementieren.

Ich ging durch die oben genannten Links sowie this tutorial und ich habe es irgendwie in Dev-Umgebung zu arbeiten, aber das Ergebnis war extrem spröde. Nun, ich unterstelle nicht, dass Suns Implementierungsfehler ist - ich bin mir ziemlich sicher, dass es mein ist; Das Fehlen verfügbarer Beispiele deutet jedoch darauf hin, dass es sich hierbei möglicherweise nicht um eine bewährte produktionsfertige Lösung handelt.

Zum Glück für mich bin ich nicht an externe Sicherheitsrichtlinien gebunden :-), so dass ich am Ende IMAP über SSL verwendet wurde, was unendlich einfacher ist.

+0

Danke, ich gebe dir eine Chance und sehe, wie stabil es ist! Müssen Sie es tatsächlich selbst implementieren? Bei diesen Links sieht es so aus, als würde man mail.imap.sasl.enable auf true und mail.imap.sasl.mechanisms auf GSS setzen? – user156966

+0

Javamail-weise - ja, obwohl Sie auch "mail.imap.sasl.authorizationid" abhängig von Ihrer Einrichtung einstellen müssen. Der "spröde" Teil versucht, dass er tatsächlich mit Ihrem Mail-Server funktioniert. Ich hatte ein dovecot in der Entwicklungsumgebung und obwohl ich in der Lage war, mich über Thunderbird gut damit zu verbinden, brauchte ich eine Menge Ärger, um Javamail zum Arbeiten zu bringen. Es war vor einer Weile, also haben sich die Dinge seitdem vielleicht verbessert, aber ich erinnere mich, dass ich mit verschiedenen 'javax.security.sasl. *' Eigenschaften spielen musste, um es zum Laufen zu bringen. – ChssPly76