WCF NetTcpBinding Transport安全模式(5) ClientCredentialType证书验证模式—-None验证模式…

WCF NetTcpBinding Transport安全模式(5) ClientCredentialType证书验证模式—-None验证模式…

大家好,又见面了,我是全栈君。

WCF NetTcpBinding Transport安全模式(5)   ClientCredentialType证书验证模式—-None验证模式

需要说明是,和服务器端证书配置在<serviceBehaviors>节中,而客户端配置在endpointBehaviors中。在代码清单11-19服务端配置和代码清单11-23客户端配置中,都将certificateValidationMode属性设置为“None”。protectionLevel设置为“EncryptAndSign,由于证书验证采用SSL加密,仅支持EncryptAndSign保护级别。

此时启动服务端进行监听,然后启动客户端,得到如图11-11所示异常信息。

WCF NetTcpBinding Transport安全模式(5) ClientCredentialType证书验证模式----None验证模式...

图11-11               DNS匹配错误

出现这种异常原因在于服务端采用证书验证之后,默认会将证书名(这里为“XuanhunServer”)作为服务提供域名。解决方案也很简单,只需在客户<endpoint>配置节下配置标识属性,指定DNS即可,如代码清单11-24所示。

代码清单11-24  配置DNS

<endpoint name=helloEndPoint address=net.tcp://127.0.0.1:64567/HelloService

          binding=netTcpBinding bindingConfiguration=netTcpBinding

          contract=WcfSecurityExampleServiceLibrary.IHelloService  behaviorConfiguration=ForListen>

        <identity>

          <dns value=XuanhunServer/>

        </identity>

      </endpoint>

在以上代码中,通过设置<dns value=”XuanhunServer”/>指定该终结点请求域名为“XuanhunServer”。修改之后再次运行客户端,结果如图11-12所示。

WCF NetTcpBinding Transport安全模式(5) ClientCredentialType证书验证模式----None验证模式...

图11-12        凭据为证书(客户端和服务端互不验证)运行结果

将图11-12运行结果,与之前采用Windows验证对比,用户名变成了客户端证书名称和证书序列号组合,凭据类型为“X509”。通过TcpTrace截获信息,可以给我们更多启示,如图11-13所示。

WCF NetTcpBinding Transport安全模式(5) ClientCredentialType证书验证模式----None验证模式...

图11-13        TcpTrace截获凭据为证书(客户端和服务端互不验证)部分传输信息

11-13所示信息为服务端返回部分信息,我们从中可以看到信息中附加了当前用户证书存储区证书信息。

———————-注:本文部分内容改编自《.NET 安全揭秘》

 



本文转自玄魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/archive/2012/06/24/2560077.html,如需转载请自行联系原作者

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108696.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • fedora14安装教程_fedora安装中文

    fedora14安装教程_fedora安装中文 Dropbox是非常好用到文件备份与同步工具,而且已经从以前的只支持Windows到现在的多系统支持,但是在Fedora下Dropbox只提供对Fedora10的RPM安装包,这让使用最新版本的Fedora的人来说是非常不爽的。今天我们就通过下载Dropbox的源码在Fedora12上通过编译安装来使用。#1首先在Dropbox官方网站上下载程序的源码。源码下载页

    2022年9月20日
    4
  • matlab画柱状图和折线图放在一起的_matlab画三维柱状图详解

    matlab画柱状图和折线图放在一起的_matlab画三维柱状图详解种类用categorical函数定义柱状图上的数值用text补充上箭头用annotation函数画出柱状图的颜色由FaceColor决定

    2022年8月3日
    5
  • golang嵌入式开发_持续集成平台对比

    golang嵌入式开发_持续集成平台对比Drone官方示例-ExampleGoproject用Docker部署Go服务器Golang官方示例-outyet一个生产环境的例子实际的DevOps项目中,在pipeline流水线中包含下载代码、测试、构建、发布、部署、通知等步骤。基本流程如下,当然不同的语言或不同的需求下流程会有所差异:clone-&amp;amp;gt;test-&amp;amp;gt;build…

    2022年8月15日
    3
  • 8024401c 无法更新,更新失败,更新错误

    8024401c 无法更新,更新失败,更新错误网上的方法不好使的时候,请试试卸载你的360全家桶。再试试更新…

    2022年4月29日
    46
  • 非常全的VsCode快捷键「建议收藏」

    非常全的VsCode快捷键「建议收藏」按Press功能FunctionCtrl+Shift+P,F1显示命令面板ShowCommandPaletteCtrl+P快速打开QuickOpenCtrl+Shift+N新窗口/实例Newwindow/instanceCtrl+Shift+W

    2022年6月12日
    45
  • Visual Studio 2015 解决方案资源管理器

    Visual Studio 2015 解决方案资源管理器位置解决方案资源管理器窗口默认位于右上角。它与另一个窗口类视图位于相同的位置。打开类视图可以在菜单栏中选择视图|类视图即可打开该窗口。如下图:解决方案管理器窗口显示了组成ConsoleApplication1项目的文件,包括我们在其中添加代码的文件Program.cs和其它内容。注意:所有C#代码文件都使用.cs文件扩展名。现在不需要考虑除了Pr

    2025年6月6日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号