首页 新闻 赞助 找找看

WCF传输安全为什么要使用证书

0
[待解决问题]

哪位仁兄帮我解释一下为什么传输安全要使用证书?

zhaodacheng的主页 zhaodacheng | 初学一级 | 园豆:25
提问于:2012-02-20 17:59
< >
分享
所有回答(1)
0

引用MSDN的上的一个回复:

Hi,
   我之前也有关于这个问题的疑惑。因为之前Web Service 和 WSE3.0 里都可以使用用户名和密码方式来实现身份验证。Web Service可以直接在Soap 消息头部加入UserName 和Password信息。WSE3.0对此进行了扩展,加入了安全验证机制,要求客户端在服务调用以前,必须设置用户令牌信息,服务获取请求以后,先进行消息的还原和验证。WCF里的UserNamePasswordValidator验证方式应该就是对扩展。不过他是重写了UsernameTokenManager的AuthenticateToken方法。但是机制应该类似。大家有兴趣可以看看WSE3.0构建Web服务安全(1):WSE3.0安全机制与实例开发 。

    主要原因就是WCF的安全直接提升了一个层次,使用WS-Secrity安全规范。这里核心就是X.509证书加密消息。也就是WCF强制支持WS-Security规范的话,无论服务器还是客户端通信,就必须使用证书。
   要么不使用安全,即:none.一旦使用,必须要求至少服务端,提供一个证书。
   WCF因为是面向服务的程序,所以对信息安全的要求就比较高,它基于的假设就是如果消息是不安全的,因为一旦被截获,就可以破译,这个等于安全形同虚设。任何人都可以冒充客户端发送消息。
此外目前我所知道的不需要证书的安全策略是基于Windows 域账号的,这个针对的是企业内部局域网。

  这个是主要原因:WS-Secrity安全规范,要求使用X.509证书。

来源:http://social.msdn.microsoft.com/Forums/zh-CN/wcfzhchs/thread/39546ca5-71e7-4e91-9d19-03f888f0cde9/

artwl | 园豆:16736 (专家六级) | 2012-02-20 20:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册