Ich habe einen https Web Service auf Java 7. Ich muss Änderungen vornehmen, so dass dieser Dienst nur tls1.2 Verbindung akzeptiert und ssl3 ablehnen , tls1.0 und tls1.1.Wie erzwinge Java Server nur tls 1.2 zu akzeptieren und tls 1.0 und tls 1.1 Verbindungen zu verwerfen
Ich habe den folgenden Java-Parameter hinzugefügt, so dass Tls1.2 höchste Priorität hat.
-Dhttps.protocols=TLSv1.2
aber es akzeptiert auch die tls1.0-Verbindungen von Java-Clients. Wenn der Client auch mit dem obigen Java-Parameter ausgeführt wird, lautet die Verbindung tls1.2, aber wenn der Client ohne diesen Parameter ausgeführt wird, lautet die Verbindung tls1.0.
Ich habe etwas um die java.security-Datei im jdk/jre/lib/security-Ordner gespielt.
ich habe folgende momentan deaktiviert Algorithmen:
jdk.certpath.disabledAlgorithms= MD2, MD4, MD5, SHA224, DSA, EC keySize < 256, RSA keySize < 2048, SHA1 keysize < 224
jdk.tls.disabledAlgorithms=DSA, DHE, EC keySize < 256, RSA keySize < 2048, SHA1 keysize < 224
Ich benutze Java 7, aktualisiert 79. Ich neige nicht zu jeder Verbindung Abfangen und die tls Version zu überprüfen.
Mein Server-Zertifikat ist 2048 Bit mit MD5 mit RSA-Algorithmus generiert.
Wenn die Liste der deaktivierten Algorithmen RSA anstelle von RSA keySize < 2048 hat, bekomme ich den SSLHandShakeError mit der Fehlermeldung: keine Cipher Suites gemeinsam.
Mein Testprogramm läuft den HTTP-Server aus folgenden URL: http://www.herongyang.com/JDK/HTTPS-HttpsEchoer-Better-HTTPS-Server.html
bitte helfen, wie Java-1.2-Verbindungen nur tls akzeptieren zu machen.
funktioniert 'SSLContext.getInstance (" TLSv1.2 ")? –