Quais conjuntos de codificação para habilitar para SSL Socket?

Estou usando o SSLSocket do Java para proteger as comunicações entre um cliente e um programa do servidor. O programa do servidor também atende a solicitações HTTPS de navegadores da web.

De acordo com "Criptografia inicial com Java", página 371, você deve sempre chamarsetEnabledCipherSuites Nas suasSSLSocket / SSLServerSocket para garantir que o pacote de criptografia que acaba sendo negociado seja suficientemente forte para seus propósitos.

Dito isto, uma chamada para o meuSSLSocketFactory'sgetDefaultCipherSuites método produz alguns180 opções. Essas opções variam deTLS_RSA_WITH_AES_256_CBC_SHA (o que eu acho que é bastante seguro) paraSSL_RSA_WITH_RC4_128_MD5 (não tenho certeza se isso é seguro, dado o status atual do MD5) paraSSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (não totalmente certo o que isso faz).

O que é uma lista sensata de conjuntos de codificação para restringir os soquetes?

Observe que o cliente e o servidor têm acesso aoCastelo inflável provedor de serviços, e que eles podem ou não ter arquivos de política criptográfica ilimitados instalados.

questionAnswers(2)

yourAnswerToTheQuestion