Quindi questo è il codice del mio server ssl Java. ctx
è un SSLContext
inizializzato con il keystore del server.Il server SSL Java disabilita le curve ellittiche deboli
public SSLEngine createSSLEngine() {
SSLEngine sslEngine = ctx.createSSLEngine();
String[] ciphersuites = new String[]{
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
};
sslEngine.setEnabledCipherSuites(ciphersuites);
sslEngine.setUseClientMode(false);
return sslEngine;
}
ho provato con cipherscan (https://github.com/jvehent/cipherscan), i ciphersuites guardare bene, ma il server supporta tutte le possibili curve ellittiche (sect163k1, sect163r1, sect163r2, sect193r1, sect193r2, sect233k1, sect233r1, sect239k1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp160k1, secp160r1, secp160r2, secp192k1, prime192v1, secp224k1, secp224r1, secp256k1, prime256v1, secp384r1, secp521r1).
C'è un modo per disabilitare tutte le curve, tranne quelle forti come secp384r1?