程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WCF NetTcpBinding Transport安全模式(5)

WCF NetTcpBinding Transport安全模式(5)

編輯:關於.NET

ClientCredentialType證書驗證模式----None驗證模式

需要說明的是,和服務器端證書配置在<serviceBehaviors>節中,而客 戶端配置在endpointBehaviors中。在代碼清單11-19的服務端配置和代碼清單11 -23的客戶端配置中,都將certificateValidationMode屬性設置為 “None”。protectionLevel設置為"EncryptAndSign",由 於證書驗證采用的是SSL加密,僅支持EncryptAndSign的保護級別。

此時啟動服務端進行監聽,然後啟動客戶端,得到如圖11-11所示的異常信息 。

圖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所示。

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved