Https的颁发、验证证书环节,客户端如何验证证书的合法性?
如题,就想知道在证书已经由服务端发给客户端之后,客户端如何验证这个证书是否合法。
是直接用与证书机构对应的,本机所保存的CA公钥直接在客户端本地解密签名做验证,还是用本机所保存的CA的公钥加密一遍证书发到CA机构的服务端去验证?
如果是前者的话,是不是服务端在申请证书时,就要把对应客户端的信息发给CA机构了?以便CA机构使用对应客户端的私钥来加密证书,然后该证书仅限该客户端使用,客户端本地解密即可。
如果是后者,应该就是客户端在求验证时才把自己信息发给CA机构,以便CA服务找出对应该客户端的私钥来解密信息吧?两种机制好像都行,但好像后者又是一次网络通信是不是依然有被劫持替换的风险?
就这部分没太明白,希望各路大老不吝赐教。