Dal Java 8 Update 31 SSL 3 del protocollo è disabilitato per default a causa di falle di sicurezza nel protocollo SSL (vedi POODLE attack).di SSL 3 in Java
Anche se non consigliato, come può essere abilitato?
Dal Java 8 Update 31 SSL 3 del protocollo è disabilitato per default a causa di falle di sicurezza nel protocollo SSL (vedi POODLE attack).di SSL 3 in Java
Anche se non consigliato, come può essere abilitato?
Se non avete altra scelta che usare SSL 3, sul link qui sotto spiega la configurazione.
Il release notes for the update 31 forniscono informazioni per l'abilitazione del protocollo SSL 3 di nuovo in Java.
Come dichiarato:
Se SSLv3 è assolutamente necessario, il protocollo può essere riattivato da rimuovendo "SSLv3" dalla proprietà jdk.tls.disabledAlgorithms nel file java.security o dinamicamente impostazione di questa proprietà di sicurezza su "true" prima che JSSE sia inizializzato.
Tenete a mente che anche il protocollo TLS può essere sfruttato per consentire un accesso non sicuro con SSL 3, thats anche parte del difetto barboncino. Abilitare questo per Java o qualsiasi altra tecnologia dovrebbe essere l'ultima risorsa solo per ragioni critiche.
Se è necessario riattivare SSLv3.0 su entrambi 8u31, 7u75, 6u91 tutto quello che dovete fare è commentare la seguente riga nel JRE_HOME/lib/security/java.security:
jdk.tls.disabledAlgorithms=SSLv3
Codice:
import javax.net.ssl.*;
public class SocketProtocols {
public static void main(String[] args) throws Exception {
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket soc = (SSLSocket) factory.createSocket();
// Returns the names of the protocol versions which are
// currently enabled for use on this connection.
String[] protocols = soc.getEnabledProtocols();
System.out.println("Enabled protocols:");
for (String s : protocols) {
System.out.println(s);
}
}
}
uscita:
Prima di abilitare SSL 3.0
$ /jdk1.8.0_31/bin/java SocketProtocols
Enabled protocols:
TLSv1
TLSv1.1
TLSv1.2
Dopo aver abilitato SSL 3,0
$ /jdk1.8.0_31/bin/java SocketProtocols
Enabled protocols:
SSLv3
TLSv1
TLSv1.1
TLSv1.2
crediti/origine: http://javablogx.blogspot.de/2015/02/enabling-ssl-v30-in-java-8.html
ho trovato entrambe queste modifiche erano tenuti al fine di connettersi a una scheda DRAC 5:
Rimuovere MD5:
jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
Rimuovere SSLv3, RC4, e MD5withRSA:
jdk.tls.disabledAlgorithms=DH keySize < 768
È possibile impostare la proprietà jdk.tls.disabledAlgorithms
la sicurezza in fase di esecuzione in questo modo.
static {
Security.setProperty("jdk.tls.disabledAlgorithms", "");
}
che necessità proprietà da impostare a true .. "impostando dinamicamente questa proprietà di sicurezza su 'true' prima JSSE viene inizializzato." – mohanaki
Dato che dice "dinamico", presumo significhi usare il codice, programmaticamente. – BonanzaOne