Come disabilitare le suite di crittografia deboli nel server di applicazioni java per ssl

2

Ho un server applicazioni Java personalizzato in esecuzione. Sto vedendo che ci sono alcune suite di crittografia deboli supportate dal server, ad esempio alcune crittografie a 112 bit. Voglio disabilitare quelli. Dove posso farlo? Inoltre, voglio abilitare TLSv1.2. Il seguente è il codice per inizializzare il socket:

    KeyStore ks = KeyStore.getInstance("JKS");
    ks.load(new FileInputStream(sslstore), sslstorepass.toCharArray());
    KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
    kmf.init(ks, sslcertpass.toCharArray());

    SSLContext sc = SSLContext.getInstance("TLS");
    sc.init(kmf.getKeyManagers(), null, new SecureRandom());
    SSLServerSocketFactory ssf = sc.getServerSocketFactory();
    serverSocket = ssf.createServerSocket(port);

    System.out.println("Socket initialized");
    
posta jgm 13.04.2016 - 14:16
fonte

1 risposta

2

JAVA consente di rimuovere / escludere le suite di crittografia dal file di criteri di sicurezza denominato java.security che si trova nel tuo JRE: $PATH/[JRE]/lib/security La proprietà jdk.tls.disabledAlgorithms nel file della politica controlla la selezione del codice TLS. jdk.certpath.disabledAlgorithms controlla gli algoritmi che troverai nei certificati SSL. Oracle ha ulteriori informazioni su questo qui .

Nel file dei criteri di sicurezza, se hai inserito quanto segue: jdk.tls.disabledAlgorithms=MD5, SHA1, DSA, RSA keySize < 4096 Lo farebbe, in modo che MD5, SHA1, DSA non siano mai consentiti e RSA sia consentito solo se la chiave è almeno 4096 bit. Per quanto riguarda la forzatura delle versioni di TLS, ciò dipende dal sistema operativo (Linux, Solaris, Windows, BSD, ecc.), Dal server (Apache, IIS, altro)

    
risposta data 13.04.2016 - 14:38
fonte

Leggi altre domande sui tag