近期因公司某些敏感站点需要,需要使用ssl+客户端证书方式验证登录,之前也架设过微软的证书服务器,但本次架设中还是遇到不少问题,归纳如下:
环境说明:
该证书服务器需要在外网上使用,所以没有配置成域的方式,采用的独立的根CA。
问题总结:
1、由于不是域模式,在配置本地机器名称时开始采用的普通的机器名称,这就导致第一个问题。
在安装完证书服务后,系统自动生成的首张证书的信息是无法修改的,如吊销列表url信息,默认使用的是机器名称,这在互联网上是无效的名称。最后的解决方法是:卸载证书服务,修改机器名并增加计算机的主DNS后缀后重新安装证书服务。
2、在win7系统上访问该正式服务器站点时会提示Active错误,需要在服务器上安装一个系统补丁才能在win7、vista系统上申请证书等操作。
3、 接下来还是win7(2008)系统上碰到的问题,ssl访问均正常,但在申请并安装完客户端证书后还是无法报 403.7错误,也没有在XP系统上页面打开后选择证书的窗口。
开始怀疑是ie8的设置上的问题,在一台2003的机器上使用ie8却一切正常,网上也没有找到相关的帮助信息。
折腾了一天没有搞定,后来在比对win7上的ie8和2003上的ie8的不同时发现 win7上的ie8是256位的加密,而2003上是128位加密。
跟这个有关系吗?
在看看系统默认申请的web浏览正式模板的密钥是1024位,是不是因为win7上升级支持密钥位数。
尝试使用自定义的证书指定密钥为2048位模式,测试通过。
看来如我所料,1024位密钥的证书可能已经不被win7等系统支持作为客户端正式使用。
总体来说微软的证书服务(2003系统内自带的)安装配置均较简单,但是对证书提供的可配置项太少,适合在域或内部网络上使用。不太适合在互联网上使用。等有时间再研究其他的一些开源的证书服务。