TSL/SSL协议

                                          TSL/SSL协议

         NetScape最开始提出了SSL( secure sockets layer  安全套接层)。ssl作为安全协议,是在传输层对网络进行加密。 七层(物理- 数据链路 - 网络 -传输 - 会话 -表示 -应用) 数据在应用层之前就已经完成了加密解密过程。 后来IETE将其标准化,称其为TLS(transport layer security 安全传输层协议)
TSL/SSL 是一个公钥/私钥的非对称结构,客户端和服务端都保存了自己的私钥和 对面的公钥,发送数据的时候会用对面的公钥加密,对面收到数据之后 会用自己的私钥来解密。

        但是存在一个问题,在客户端和服务端交换公钥的过程中,有可能有中间人伪造角色,将两者的公钥获取到了,这样就可以伪造数据传送,会将伪造的站点响应给用户。这时候TLS/SSL引入了是数字证书。
数字证书中包含了: 
                             服务器的名称
                             主机名
                             服务器的公钥
                             签名颁发机构的名称
                             来自签名颁发机构的签名。
维基百科上面关于证书的解释:
        证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循 X.509  国际标准。
        在建立连接前,会通过证书中的签名确认收到公钥是来自目标服务器的,从而产生信任关系。

        但是又存在一个问题 ,证书怎么来呢,则需要第三方机构,CA(Certificate Authority,数字证书认证中心),它的作用就是给我们的站点颁发证书.如何得到签名证书呢????
         服务端先要通过自己的私钥生成CSR(certificate athourity request)证书签名请求文件,然后CA会根据这个文件颁发属于该服务器的签名证书。CA根据自己的 也就是数字证书认证中心的私钥 和 申请数字证书机构的公钥 和一些信息加密,生成数字证书.[摘自ruanyf博客]
 客户端在发起安全连接的时候,会先去获取服务端的证书,并通过CA证书验证服务器,因为证书里面包含了服务器的公钥信息.


                朴灵:深入浅出nodeJS
               If you are goods at English .u can read this : http://www.youdzone.com/signature.html
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值