用户名密码认证
通常服务器认证客户端使用的是用户名和密码的方式。
但使用这种认证的方式,对密码的管理有较多的要求,比如有些公司对密码的复杂度,长度有要求,并且每几个月就要更换密码,而且密码的循环利用周期也有要求。
但这样的复杂度及有效期的要求有时却导致用户将密码记录在不安全的介质上,从而导致泄密。
同时管理及重置密码的需求也加大了管理员的工作量。
客户端证书
是用于证明客户端用户身份的数字证书,无需用户名密码。
基本类似于https的证书认证过程,只不过方向是反过来的:
管理员(ca)产生一对公钥及私钥,然后用私钥根据用户信息生成一个签名了的客户端证书
将客户端证书安装到客户端中
将公钥安装在服务器中
当客户端访问服务器时,将客户端证书发送给服务器,服务器通过公钥检验客户端证书的签名,如果通过则认证完成。