¿Qué Cipher Suites habilitar para SSL Socket?

Estoy usando el SSLSocket de Java para asegurar las comunicaciones entre un cliente y un programa de servidor. El programa del servidor también sirve las solicitudes HTTPS de los navegadores web.

De acuerdo a "Criptografía inicial con Java", página 371, siempre debes llamarsetEnabledCipherSuites en tuSSLSocket / SSLServerSocket para asegurarse de que la suite de cifrado que termina siendo negociada sea lo suficientemente fuerte para sus propósitos.

Dicho esto, una llamada a miSSLSocketFactoryesgetDefaultCipherSuites método produce algunos180 opciones Estas opciones van desdeTLS_RSA_WITH_AES_256_CBC_SHA (que creo que es bastante seguro) aSSL_RSA_WITH_RC4_128_MD5 (no estoy seguro si eso es seguro, dado el estado actual de MD5) paraSSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (No estoy completamente seguro de lo que hace eso).

¿Qué es una lista sensata de suites de cifrado para restringir los sockets?

Tenga en cuenta que el cliente y el servidor tienen acceso a laCastillo inflable proveedor de servicios, y que pueden tener o no archivos de políticas criptográficas ilimitados instalados.

Respuestas a la pregunta(2)

Su respuesta a la pregunta