ssl安全通信整理

一、工作原理:
    1.握手协议
  握手协议有四个阶段:
  1.1 建立安全能力
      客户端发起,向服务端发送"hello"消息;
  服务端响应,返回"hello"消息;
  客户端消息中包含:
     客户端支持的ssl最高版本的版本号;
一个用于生成主秘密的随机数;
会话id;
客户端支持的密码套件列表;
客户端支持的压缩方式列表;
  响应消息中包含:
     客户端和服务端支持的ssl最高版本中较低的版本的版本号;
一个用户生成主秘密的随机数;
会话id;
从客户端密码套件列表中选中的密码套件;
从客服的压缩方式列表中选中的压缩方式;
  1.2 服务器鉴别与密钥交换
      服务器发起:
     发送数字证书及到根CA的整个链到客户端;
发送服务器公钥;
是否要求客户端进行验证;
服务端握手完成;
  1.3 客户端鉴别与密钥交换
      客户端发起:
     客服的发送证书信息,证明身份(可选);
客户端发送预备主密钥,使用1.2中的服务器公钥加密;
证书验证(可选);
  1.4 完成
      客户端改变密码规格值给服务端;
  客户端发送md5散列+sha散列;
  服务端改变密码规格;
  服务端发送md5散列+sha散列;
 
2.记录协议
  向ssl连接提供两种服务:
  2.1 保密性;
  2.2 完整性;
3.告警协议
  客户端和服务器发现错误时,向对方发送告警消息。如果是致命错误则立即关闭ssl连接;
二、jdk支持的cipher suit
 一下是sun版本的jdk支持的标准cipher suites。   
SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA  
SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA  
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA  
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA  
SSL_DHE_DSS_WITH_DES_CBC_SHA  
SSL_DHE_DSS_WITH_RC4_128_SHA  
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA  
SSL_DHE_RSA_WITH_DES_CBC_SHA
SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA  
SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA  
SSL_DH_DSS_WITH_DES_CBC_SHA  
SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA  
SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA  
SSL_DH_RSA_WITH_DES_CBC_SHA  
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
SSL_DH_anon_WITH_DES_CBC_SHA
SSL_DH_anon_WITH_RC4_128_MD5
SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA  
SSL_FORTEZZA_DMS_WITH_NULL_SHA  
SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA  
SSL_RSA_EXPORT1024_WITH_RC4_56_SHA  
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA  
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5  
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA  
SSL_RSA_FIPS_WITH_DES_CBC_SHA  
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_IDEA_CBC_SHA  
SSL_RSA_WITH_NULL_MD5
SSL_RSA_WITH_NULL_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA  
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA  
TLS_DHE_RSA_WITH_AES_256_CBC_SHA  
TLS_DH_anon_WITH_AES_128_CBC_SHA  
TLS_DH_anon_WITH_AES_256_CBC_SHA  
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5  
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA  
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5  
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA  
TLS_KRB5_EXPORT_WITH_RC4_40_MD5  
TLS_KRB5_EXPORT_WITH_RC4_40_SHA  
TLS_KRB5_WITH_3DES_EDE_CBC_MD5  
TLS_KRB5_WITH_3DES_EDE_CBC_SHA  
TLS_KRB5_WITH_DES_CBC_MD5  
TLS_KRB5_WITH_DES_CBC_SHA  
TLS_KRB5_WITH_IDEA_CBC_MD5  
TLS_KRB5_WITH_IDEA_CBC_SHA  
TLS_KRB5_WITH_RC4_128_MD5  
TLS_KRB5_WITH_RC4_128_SHA  
TLS_RSA_WITH_AES_128_CBC_SHA  
TLS_RSA_WITH_AES_256_CBC_SHA  
 由于美国的出口限制,j2ee和j2se 1.4版本不支持第三方提供的cipher suite。后来美国新的出口限制出来后,在1.5版本中可以使用下面的cipher suite:
 
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_DSS_EXPORT_WITH_DES_40_CBC_SHA
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
SSL_DHE_DSS_WITH_AES_128_CBC_SHA
SSL_DHE_DSS_WITH_AES_256_CBC_SHA
SSL_DHE_DSS_WITH_DES_CBC_SHA
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_RSA_EXPORT_WITH_DES_40_CBC_SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DHE_RSA_WITH_AES_128_CBC_SHA
SSL_DHE_RSA_WITH_AES_256_CBC_SHA
SSL_DHE_RSA_WITH_DES_CBC_SHA
SSL_DH_ANON_EXPORT_WITH_DES40_CBC_SHA
SSL_DH_ANON_EXPORT_WITH_DES_40_CBC_SHA
SSL_DH_ANON_EXPORT_WITH_RC4_40_MD5
SSL_DH_ANON_WITH_3DES_EDE_CBC_SHA
SSL_DH_ANON_WITH_AES_128_CBC_SHA
SSL_DH_ANON_WITH_AES_256_CBC_SHA
SSL_DH_ANON_WITH_DES_CBC_SHA
SSL_DH_ANON_WITH_RC4_128_MD5
SSL_DH_ANON_WITH_RC4_MD5
SSL_DH_DSS_EXPORT_WITH_DES_40_CBC_SHA
SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA
SSL_DH_DSS_WITH_DES_CBC_SHA
SSL_DH_RSA_EXPORT_WITH_DES_40_CBC_SHA
SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DH_RSA_WITH_DES_CBC_SHA
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_RSA_EXPORT_WITH_DES_40_CBC_SHA
SSL_RSA_EXPORT_WITH_RC2_40_CBC_MD5
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
SSL_RSA_FIPS_WITH_DES_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_MD5
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_AES_128_CBC_SHA
SSL_RSA_WITH_AES_256_CBC_SHA
SSL_RSA_WITH_DES_CBC_MD5
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_NULL_MD5
SSL_RSA_WITH_NULL_SHA
SSL_RSA_WITH_RC2_CBC_MD5
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_MD5
SSL_RSA_WITH_RC4_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DH_ANON_WITH_AES_128_CBC_SHA
TLS_DH_ANON_WITH_AES_256_CBC_SHA
TLS_DH_DSS_WITH_AES_128_CBC_SHA
TLS_DH_DSS_WITH_AES_256_CBC_SHA
TLS_DH_RSA_WITH_AES_128_CBC_SHA
TLS_DH_RSA_WITH_AES_256_CBC_SHA
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
TLS_KRB5_EXPORT_WITH_RC4_40_MD5
TLS_KRB5_EXPORT_WITH_RC4_40_SHA
TLS_KRB5_WITH_3DES_EDE_CBC_MD5
TLS_KRB5_WITH_3DES_EDE_CBC_SHA
TLS_KRB5_WITH_DES_CBC_MD5
TLS_KRB5_WITH_DES_CBC_SHA
TLS_KRB5_WITH_RC4_128_MD5
TLS_KRB5_WITH_RC4_128_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
SSL_CK_RC4_128_WITH_MD5
SSL_CK_RC4_128_EXPORT40_WITH_MD5
SSL_CK_RC2_128_CBC_WITH_MD5
SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5
SSL_CK_IDEA_128_CBC_WITH_MD5
SSL_CK_DES_64_CBC_WITH_MD5
SSL_CK_DES_192_EDE3_CBC_WITH_MD5 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值