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

Posted tianping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目中使用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,

 


以上是关于项目中使用WCF替换asmx Web service总结的主要内容,如果未能解决你的问题,请参考以下文章

Web 服务——WCF 与 ASMX(“标准”)

选择啥? .net 3.5 中的 ASMX Web 服务或 WCF?

Web Service ,WCF以及Web API的对比

iOS 应用程序的 WCF 或 Web 服务 (.asmx)?

asmx 到 WCF 或 Web API

如何创建和发布.asmx Web Service