服务器是否需要PKI中的CA证书副本?

时间:2014-07-09 16:32:38

标签: ssl encryption digital-certificate

据我了解数字证书的工作情况: 1.服务器生成公钥和私钥 2.然后生成CSR并将其提交给CA. 3. CA使用其私钥对其进行签名,并将证书返回给服务器

向服务器发送数据时: 1.使用服务器的公钥加密数据并进行传输。只有服务器才能解密它,因为它有私钥

从服务器下载数据时: 1.服务器使用其私钥加密数据。它传输证书和数据。 2.用户使用CA的公钥解密证书。 3.然后使用从解密证书获得的公钥解密数据。

我认为服务器需要的只是私钥和CA颁发的证书 客户端需求是CA公钥 我不明白的是,服务器配置也可以选择指定CA证书文件路径。如果我们谈论的是仅服务器安全性,即客户端没有使用自己的密钥,那会不会使用它?这是使用SSL / TLS的服务器配置的必需参数吗?

我希望我有意义

1 个答案:

答案 0 :(得分:1)

  

向服务器发送数据时:1。使用服务器加密数据   公钥和传输。只有服务器才能解密它   有私钥

     

从服务器下载数据时:1。服务器对数据进行加密   使用其私钥。它传输证书和数据。 2。   用户使用CA的公钥解密证书。然后解密   使用从解密证书获得的公钥的数据。

那是完全错误的(记住,你实际上并没有用私钥加密)。那根本不是SSL的工作方式。每个会话为加密生成一个新的对称密钥。请参阅this question for more details

CA证书用作信任锚以验证远程方的身份。

严格地说,服务器本身并不需要拥有用于签署自己的证书的CA的副本,因为它是远程方(客户端)将其作为信任锚(即它已经信任的东西)。

尽管如此,它可以将CA证书作为其服务器链的一部分发送。事实上,如果CA证书本身使用链上的另一个CA证书进行签名,则建议这样做。这样做会增加远程方进行身份验证的机会。

服务器通常可以选择指定CA证书,原因有两个(取决于选项):

  • 展示自己的证书链(即具有中间CA证书)。
  • 使用时验证客户端证书(在这种情况下,服务器有自己的信任锚,可以验证远程证书,即客户端证书)。