我正在使用Java的SSLSocket保护客户端和服务器程序之间的通信。该服务器程序还提供来自Web浏览器的HTTPS请求。
Java
SSLSocket
据“ 开始加密与Java ”,371页,你应该总是叫setEnabledCipherSuites上你的SSLSocket/ SSLServerSocket,以确保密码套件最终被谈判是为您的目的足够强。
setEnabledCipherSuites上你的SSLSocket/ SSLServerSocket
话虽这么说,对我SSLSocketFactory的getDefaultCipherSuites方法的调用产生了大约180个选项。这些选项的范围从TLS_RSA_WITH_AES_256_CBC_SHA(我认为是相当安全的)到SSL_RSA_WITH_RC4_128_MD5(不确定MD5的当前状态是否安全)到SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA(不确定要做什么)。
SSLSocketFactory
getDefaultCipherSuites
TLS_RSA_WITH_AES_256_CBC_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
限制套接字使用的密码套件的明智列表是什么?
请注意,客户端和服务器可以访问Bouncy Castle服务提供商,并且它们可以安装也可以不安装无限的加密策略文件。
Bouncy Castle
2009年NIST的建议列出了以下内容,其中包括TLS_RSA_WITH_AES_256_CBC_SHA(您提到):
TLS_RSA_WITH_NULL_SHA(除非您确定不需要任何隐私/机密信息,否则请不要使用它)。
TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_DH_DSS_WITH_AES_128_CBC_SHA TLS_DH_RSA_WITH_AES_128_CBC_SHA TLS_DHE_DSS_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_DH_DSS_WITH_AES_256_CBC_SHA TLS_DH_RSA_WITH_AES_256_CBC_SHA TLS_DHE_DSS_WITH_AES_256_CBC_SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA TLS_ECDH_RSA_WITH_AES_128_CBC_SHA TLS_ECDH_RSA_WITH_AES_256_CBC_SHA TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLS_PSK_WITH_3DES_EDE_CBC_SHA TLS_PSK_WITH_AES_128_CBC_SHA TLS_PSK_WITH_AES_256_CBC_SHA TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA TLS_DHE_PSK_WITH_AES_128_CBC_SHA TLS_DHE_PSK_WITH_AES_256_CBC_SHA TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA TLS_RSA_PSK_WITH_AES_128_CBC_SHA TLS_RSA_PSK_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384