La nostra applicazione Java espone molte interfacce diverse (SMTP, FTP, HTTP), protette da SSL/TLS. L'obiettivo ora è di limitare le suite di crittografia consentite su queste interfacce per includere solo quelle "forti". Ho già una lista ed è chiaro come farlo lavorare per una particolare presaLimita le suite di crittografia a livello JRE
socket.setEnabledCipherSuites(ENABLED_SECURE_CIPHER_SUITES);
o per il connettore Tomcat
<Connector port="443" ciphers="..."/>
Il problema è che ci sono già 5 posti nella domanda dove dovrei applica questa limitazione manualmente. Common SocketFactory non sembra essere d'aiuto, poiché non è sempre possibile fornire SocketFactory personalizzato a API o framework di terze parti. È possibile in qualche modo introdurre questa limitazione a livello di JRE, ad es. con la configurazione dei provider JCE o il file dei criteri?
JRE: Oracle JRE 1.7.0_17
Definire 'strong'. Java limita già le suite di crittografia abilitate. Sei a conoscenza delle [Proprietà di rete] (http://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html)? – EJP
Questa domanda non riguarda la forza di una cifra particolare. Ho una lista fissa di cifrari consentiti e non posso cambiarla. Ad esempio, RC4 non è consentito affatto. Quindi, le restrizioni Java predefinite non sono sufficienti. Ho anche controllato le proprietà di rete, ma non ho trovato proprietà relative alle suite di crittografia. – Jk1
Vedere la Guida di riferimento JSSE. – EJP