我正在搜索有关如何执行 SSL 验证过程的算法,但几乎在所有地方,他们都将证书验证步骤解释为“证书由客户端检查”或类似的东西,但我想知道这背后的场景是什么。
我所知道的是:
客户端如何检查SSL证书?我需要一步一步地得到答案并加以澄清。 谢谢:)
编辑:
我认为这里的公钥用于“解密”而不是“加密”。所以公钥不负责每次 加密 ,它也可以 解密 并且不 加密 一些数据。这里的神奇之处在于,由于公钥在这里解密,如果你想伪造证书,你应该拥有那个 CA 的私钥来应用加密的更改(因为只有 私钥可以加密数据)。但是现在,另一个问题来了……如果我们使用网络服务器的公钥解密 ,然后更改签名中的条目,然后使用我们自己的 自己的 私钥再次加密它会怎样(我们手动生成它,它不属于到服务器。),这实际上让我们表现得像一个 CA;最后覆盖证书以保存我们的 自己的 公钥,它能够解密使用我们的 自己的 私钥加密的数据?
最佳答案
之间存在差异加密 和 签名 .
客户端将公钥用于 加密 只有服务器才能使用服务器的私钥解密的数据。
客户端使用公钥来验证 签名服务器发送的只能由服务器的私钥签名的数据。
当客户端想要访问服务器时,服务器会向您发送包含公钥的证书。客户端通常 Web 浏览器将检查其集成 CA 的列表证书(如果它包含它)。
对于信任链,您可以查看维基百科:
https://en.wikipedia.org/wiki/Chain_of_trust
您需要在此信任链中才能在 CA 的网络浏览器集成“数据库”中注册。
希望它能回答你的问题,最好的问候,
米
关于security - SSL 证书 (CA) 如何准确验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69841085/