使用证书的服务器认证(进程)

到目前为止我所了解的是:

  • CA(证书颁发机构)拥有密钥并使用该密钥构建证书
  • 服务器有一个密钥,并用该密钥构建一个csr(证书签名请求)
  • 然后使用CA crt和密钥以及服务器csr,CA将生成服务器证书
  • 为了验证服务器,客户端使用如下的CA(其证书):

    4.1。 客户端收到服务器证书

    4.2。 客户端验证此证书是由其拥有的CA的证书(使用CA的公钥)验证的,它还验证此证书的序列号不在CRL(证书吊销列表)中,

    4.3。 客户端生成对称密钥并使用服务器提供的公钥将其加密并将其发送到服务器

    4.4。 所有从现在开始的通信都使用这个对称密钥进行加密

  • 这是我仍然有点困惑的地方:

  • 客户端在步骤4.2中使用CA公钥来验证服务器证书,但由于客户端只有CA的证书,因此如何进行匹配? 我的意思是,除非传递给CA的服务器csr具有由客户端验证的与客户端的CA的crt相同的信息,否则匹配会如何发生?

  • 因为任何人都可以拥有服务器证书,所以我假定唯一确保只有服务器可以与客户端进行通信的步骤是步骤4.3,其中只有服务器可以具有对称密钥,因为只有服务器具有私钥才能解密此密钥加密的对称密钥。 它是否正确?

  • 我也不确定所有的步骤,或者如果我错过了任何步骤。


  • 我找到了一个答案(ssl证书如何验证?),它回答了我的问题的第一部分,然后幸运的是有人在评论中发布了一个链接来回答其他问题:http://www.moserware.com/2009/06/first -few-毫秒-OF-https.html

    链接地址: http://www.djcxy.com/p/21785.html

    上一篇: Server authentication using certificate (process)

    下一篇: About WCF security