项目中使用WCF替换asmx Web service总结

以前项目解决方案中,用http协议的asmx Web service作服务器数据访问入口,在SoapHeader中写入用户名和加盐密码进行身份认证。

但http asmx服务都是明文传输,数据在传输过程中很容易被截取、篡改。在内网使用、用户量小、安全问题不严重时可以采用。

因项目发展,需要对服务器进行改造,升级成更高级的安全方式。

最先想到的是将http协议改用https,解决数据明文传输和有可能被篡改问题。

但是,https传输存在两个问题:1是客户机要安装证书,2是运行环境中客户机与服务器之间可能存在安全接入边界系统,传输层加密存在诸多问题和不确定性。

因此,决定采用WCF Message加密方案,不使用Transport安全模式,保持http传输协议。这样客户机与服务器通信数据可以通过安全接入边界系统,不同的网络结构对用户基本是透明的。

实现WCF Message安全方案的步骤:

1,创建服务证书:Visual Studio Tools命令提示符下执行(假设证书名为WCFServerCA,实际可以替换为自己想要名)

makecert -r -pe -n "CN=WCFServerCA" -sr LocalMachine -ss My -sky exchange

2,运行MMC控制台,从本地计算机节点证书内导出WCFServerCA证书,保存为带私钥的证书文件,扩展名为.pfx。
3,在运行服务的计算机上导入该.pfx证书,导入到受信任的根证书颁发机构和受信任人下。

4,

猜你喜欢

转载自www.cnblogs.com/TianPing/p/10075945.html