Ssl 什么是CA证书,为什么我们需要它?

Ssl 什么是CA证书,为什么我们需要它?,ssl,x509,pki,Ssl,X509,Pki,我刚刚阅读了什么是HTTPS服务,并了解了HTTPS的基本原理 当请求https内容时,服务器将向浏览器发送一个公钥,以便每次浏览器接收到的数据都将使用公钥解密 我的问题是什么是CA证书?我们为什么需要它 大多数证书不需要800美元,像Let's Encrypt这样的CA都是免费的(代价是增加了定期更新的不便) 问题是为什么客户机会相信服务器是正确的服务器?答案是一个权威机构,一个CA,为服务器证书颁发和担保。CA以某种方式验证证书请求者。然后CA提供一个公共接口来验证证书的真实性。客户端必须知

我刚刚阅读了什么是HTTPS服务,并了解了HTTPS的基本原理

当请求https内容时,服务器将向浏览器发送一个公钥,以便每次浏览器接收到的数据都将使用公钥解密


我的问题是什么是CA证书?我们为什么需要它

大多数证书不需要800美元,像Let's Encrypt这样的CA都是免费的(代价是增加了定期更新的不便)


问题是为什么客户机会相信服务器是正确的服务器?答案是一个权威机构,一个CA,为服务器证书颁发和担保。CA以某种方式验证证书请求者。然后CA提供一个公共接口来验证证书的真实性。客户端必须知道CA是由操作系统实现的,并且/或者在浏览器可能也有嵌入式CA的情况下。

CA证书保证您就是您自己。它是系统使用的第三方服务

证书
-是一个包含所有者信息及其公钥的文件。此文件由CA使用
数字签名签名

数字签名
-与数据(消息、文档、文件等)和所有者绑定

//Create a signature by owner
1. generate public and private keys
2. calculate a check sum of data
3. encode calculated check sum by private key

//Check a signature
1. calculate a check sum of data
2. decode the calculated check sum by public key
3. compare check sums from step 1 and 2

CA证书是由证书颁发机构(CA)颁发的数字证书,因此SSL客户端(如web浏览器)可以使用它来验证此CA签署的SSL证书

例如,stackoverflow.com使用Let's encrypt对其服务器进行签名,stackoverflow.com发送的SSL证书提到它们是由Let's encrypt签名的。 您的浏览器包含来自Let's encrypt的CA证书,因此浏览器可以使用该CA证书来验证stackoverflow的SSL证书,并确保您确实在与真正的服务器交谈,而不是与中间人交谈


提供有关TLS/SSL证书如何工作的更详细说明

你没有。看看@erickson为什么会有权威?我的理解是,https是点对点的,严格在两方之间。Stack Overflow是一个用于编程和开发问题的站点。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。还有。@erickson Lets Encrypt仍然有一个CA-关于LE的“区别”是a)它是免费的,b)它是自动更新的(或者如果你不能自动更新,它可能不值得麻烦)-所以这是一个双赢!这张图表中关于非对称加密的部分是不相关的,或者如果它们涉及TLS,那么它们是错误的。@Marqueisoflorne,你能提供一些我可以利用的资源吗?