https网站交互中,客户端如何处理证书问题
首先,在https网站交互中,客户端是没有自己的证书的。因为客户端并不需要标识自身(网银用户例外)。
客户端所需做的只是校验一下服务端的证书。 而校验别人的证书,跟CA有关系,具体来说就是通过CA发行的根证书来校验。所以客户端要持有CA的根证书。
浏览器软件里内置了大多数CA的根证书,所以浏览器用户不必去自己下载这些证书并导入。
但在编写C/S程序时,开发人员就要自己去搞CA证书了;在对安全要求不是非常严格的情况下,客户端程序可以简单地选择“总是相信服务端”的策略。
这里提供了两种策略的java实现:
http://stackoverflow.com/questions/6629473/validate-x-509-certificate-agains-concrete-ca-java