Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSL证书和公钥_Ssl - Fatal编程技术网

SSL证书和公钥

SSL证书和公钥,ssl,Ssl,有人能给我解释一下吗 谁在CSR期间创建公钥?是CA有责任提供它,还是取决于证书请求者?如果后者为真,浏览器客户端可以通过何种方式将此公钥包含在其信任库中,以验证从服务器发送的SSL证书?如果前者为真,那么CA拥有多少公钥,浏览器客户端以何种方式知道所有这些密钥?这是我无法找到或给出满意答案的一点,因为我无法想象客户机拥有大量公钥的数据库 多谢各位 公钥和私钥只能成对生成。由于CA不应该知道私钥,请求者必须自己生成该对 虽然浏览器必须存储每个值得信任的CA的公钥,但它不必在其信任库中包含每个启用

有人能给我解释一下吗

谁在CSR期间创建公钥?是CA有责任提供它,还是取决于证书请求者?如果后者为真,浏览器客户端可以通过何种方式将此公钥包含在其信任库中,以验证从服务器发送的SSL证书?如果前者为真,那么CA拥有多少公钥,浏览器客户端以何种方式知道所有这些密钥?这是我无法找到或给出满意答案的一点,因为我无法想象客户机拥有大量公钥的数据库

多谢各位

  • 公钥和私钥只能成对生成。由于CA不应该知道私钥,请求者必须自己生成该对

  • 虽然浏览器必须存储每个值得信任的CA的公钥,但它不必在其信任库中包含每个启用https的网站(如
    prettykittens.org
    )的公钥

  • 那么,客户如何判断网站的真实性呢


    在SSL握手过程中,Web服务器发送其公钥和使用CA公钥签名的消息,该公钥大致表示“这是XY公司针对prettykittens.org的公钥”(也称为证书)。然后,浏览器只需使用CA的公钥验证签名,就可以了。

    根据您所说的,我推断客户端并不关心证书中的公钥。因此,它使用在信任库中找到的公钥来验证签名,而不是在证书中找到的公钥,不是吗?是和否-客户端在SSL握手期间需要服务器的公钥来加密会话密钥协商期间的消息。