Web service certificates configuration

来源:互联网 发布:java代理模式应用场景 编辑:程序博客网 时间:2024/05/17 06:26

http://www.cnblogs.com/lotus/archive/2007/01/28/632766.aspx

部署WSE3.0实战:性能、证书与WSE910错误

      早些时候看WSE3.0附带sample code,似乎挺简单,根据项目情况,选择UsernameForCertificate断言,使用测试服务证书在本机上(winxp SP2)执行很顺利,可以将Web service 部署到服务器上就得到“WSE 910错误,……”,百度搜索得到的“WSE910 R:服务器和你的计算机时间对不上了。不过你可以放宽限制的,在服务端配置的时候将时间差距调大一点,在Security标签里面。”遍视之,不对症,呵呵。郁闷了好一阵子。
      后来发现SampleCodeReadme中提供了答案:

Run the Setup.bat file. This batch file generates the certificates named above and installs them on the local machine into the corresponding stores. It also correctly sets the access permissions on the certificates such that the running process (NETWORK SERVICE on Windows Server 2003 or ASPNET on Window XP) can access the certificate

将Setup.bat文件在服务器上执行后,成功了。看来IIS没有权限访问指定的证书也会得到“WSE910错误”,真是无聊,浪费了俺3天的时间!
      高兴之余,dever测试了使用测试证书的性能:使用WSE3.0前每次调用耗时约30ms,之后就上升到90多ms。看来测试证书(只做测试只用嘛)确实导致速度很慢,这几乎不能容忍。文档中也有说明:

Performance Note: Certain security operations may run slow using MakeCert generated certificates. Certificates issued from a true Certificate Authority do not have this problem. This is a known issue.

      于是安装自己的证书服务,在Windows 2003 server smallbusiness 版本上装,反复折腾也找不到可用的模板:其实我们目标很明确,也就是能够完成消息数字签名和数字加密就够了,几乎各种手段都用无济于事,再次郁闷中,难道要用测试证书不成,有心放弃使用WSE,又心又不甘。
      几天后在另一台独立服务器上安装独立根证书颁发机构,稀里糊涂地生成了具有“文档签名”目的的证书,足足得意了2分钟,结果如何得到证书号都忘记了,现在还没记起来,累。    
      应该说Dever进行的性能测试结果很令人满意,从30ms到46ms左右还是可以接受的。
      应该庆贺一下,这两周被WSE使用中的问题搞得焦头烂额,最终还是解决了,不想时隔两日,当我们将服务移植到另一台服务器上时,“WSE910错误”再次死灰复燃,我们都快崩溃了。
      当我们整整几个小时的郁闷之后发现,谁把服务器的时区设置成太平洋时间,哑然失笑,问题又回到了原点。
      热切盼望台湾海底电缆尽快恢复,访问微软的文档太慢了。