Unsere Java-Anwendung bietet viele verschiedene Schnittstellen (SMTP, FTP, HTTP), die durch SSL/TLS gesichert sind. Das Ziel besteht nun darin, Cipher-Suites zu beschränken, die auf diesen Schnittstellen erlaubt sind, nur "starke" einzuschließen. Ich habe bereits eine Liste und es ist klar, wie es für eine bestimmte Steckdose arbeiten, umVerschlüsselungssuiten auf JRE-Ebene einschränken
socket.setEnabledCipherSuites(ENABLED_SECURE_CIPHER_SUITES);
oder für Tomcat-Anschluss
<Connector port="443" ciphers="..."/>
Das Problem ist, dass es bereits 5 Plätze in der Anwendung, wo ich soll Wenden Sie diese Einschränkung manuell an. Gemeinsame SocketFactory scheint nicht zu helfen, da es nicht immer machbar ist, benutzerdefinierte SocketFactory API oder Framework von Dritt-Anbieter bereitzustellen. Ist es möglich, diese Beschränkung auf JRE-Ebene irgendwie einzuführen, z. mit JCE-Provider Konfiguration oder Richtliniendatei?
JRE: Oracle JRE 1.7.0_17
"stark" definiert. Java beschränkt bereits die aktivierten Cipher Suites. Kennen Sie die [Netzwerkeigenschaften] (http://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html)? – EJP
Bei dieser Frage geht es nicht um die Stärke einer bestimmten Chiffre. Ich habe eine feste Liste von zulässigen Verschlüsselungen und kann sie nicht ändern. Zum Beispiel ist RC4 überhaupt nicht erlaubt. Daher sind Java-Standardeinschränkungen nicht ausreichend. Ich habe auch Netzwerkeigenschaften überprüft, aber keine Eigenschaften gefunden, die sich auf Cipher Suites beziehen. – Jk1
Siehe JSSE-Referenzhandbuch. – EJP