___ qstntxt ___
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?
___ answer25867611 ___
Hier ist eine mögliche Verbesserung: Wenn Ihr Code für die Server-Seite statt für die Client-Seite ist, fügen Sie dies hinzu, und es wird gut funktionieren:
%Vor%
___ qstnhdr ___ Aktualisieren Sie den Java-Socket nach der Ausgabe von stacktls
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen.
___ answer14142998 ___
Sicher kannst du. Verwenden Sie Ihre SSLSocketFactory, um einen Socket zu erstellen, der ein vorhandenes reguläres java.net.Socket:
umschließt
%Vor%
___ tag123ssl ___ Secure Sockets Layer (SSL) ist ein kryptografisches Protokoll, das sichere Kommunikation über das Internet ermöglicht. Häufig wird SSL als Oberbegriff verwendet und bezieht sich sowohl auf das SSL-Protokoll als auch auf das TLS-Protokoll (Transport Layer Security). Die neueste Version des Protokolls ist TLS Version 1.2, spezifiziert von der IETF in RFC 5246.
___ tag123sockets ___ Ein Endpunkt eines bidirektionalen Interprozess-Kommunikationsflusses. Dies bezieht sich oft auf einen Prozessablauf über eine Netzwerkverbindung, ist jedoch keineswegs darauf beschränkt. Nicht zu verwechseln mit Websocket (einem Protokoll) oder anderen Abstraktionen (z. B. socket.io).
___ tag123startltls ___ STARTTLS ist eine Erweiterung für Klartextkommunikationsprotokolle, die eine Möglichkeit bietet, eine Nur-Text-Verbindung auf eine verschlüsselte (TLS- oder SSL-) Verbindung zu aktualisieren, anstatt einen separaten Port für die verschlüsselte Kommunikation zu verwenden.
___ answer14403580 ___
@ 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.
___