Ich möchte, dass meine App ohne eine Verschlüsselung mit dem Server kommuniziert, bevor Sie eine STARTTLS-Datei ausgeben und anschließend den Socket aktualisieren, um danach verschlüsselt zu werden. Kann ich eine Verbindung zu einem Port herstellen (z. B. 5222) und STARTTLS verwenden, um TLS mit Java anzufordern? Wenn ja, welches Socket-Objekt sollte ich dafür verwenden?
Sicher kannst du. Verwenden Sie Ihre SSLSocketFactory, um einen Socket zu erstellen, der ein vorhandenes reguläres java.net.Socket:
umschließt %Vor%@ Jans Antwort war hilfreich (und ich habe dafür gestimmt), aber ich musste es ein wenig verbessern, damit es für mich funktioniert:
%Vor%Getestet mit Java 7 und GMail (smtp.gmail.com) an Port 587.