我想了解数字证书的两个主要用途(例如SSL证书),签名和验证(我相信)。
对于客户端和Web服务器之间的SSL,我对证书验证的理解是浏览器使用HTTPS通过URL联系服务器。然后,服务器向浏览器显示其SSL证书。然后,浏览器必须验证 SSL证书是有效的,并且它与URL中的域属于同一个域。
同样,对于客户端和Web服务器之间的SSL,我对证书签名的理解是客户端(浏览器)首先验证服务器&# 39; SSL证书有效,如果是,浏览器将证书放在自己的信任库(某些本地嵌入式数据库)中。对该域的后续请求将首先检查服务器的SSL证书是否在客户端的信任存储中,如果是,则不再需要验证。
我在这里或多或少是正确的,还是我离开基地?
答案 0 :(得分:1)
您对验证非常正确。我想补充说,浏览器还尝试针对CA(证书颁发机构)验证证书,但用户可以放弃。
在这里精美解释How are ssl certificates verified?
签名是另一回事。当申请人(例如Web服务器)希望CA为其签署证书时,它会创建密钥对,私钥和公钥,然后准备CSR(证书签名请求),其中包含先前创建的公钥。然后,CA然后创建签名证书(使用其自己的私钥),该证书可以由知道该CA的公钥的任何实体验证。 Web浏览器列出了最常见的CA预安装。