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

WCF NetTcpBinding Transport安全模式(1)NetTcpSecurity定義

編輯:關於.NET

默認情況下,NetTcpBinding會生成一個運行時通信堆棧,該堆棧使用傳輸安全。

NetTcpBinding類共有四個構造函數,分別如下:

q  NetTcpBinding()。初始化NetTcpBinding類的新實例。

q  NetTcpBinding(SecurityMode)。用所使用的指定安全類型初始化NetTcpBinding類的新實例。

q  NetTcpBinding(String)。使用指定配置名稱初始化NetTcpBinding類的新實例。

q  NetTcpBinding(SecurityMode, Boolean)。用所使用的指定安全類型和一個指示是否顯式啟用安全會話的值來初始化NetTcpBinding類的新實例。

NetTcpBinding類有一個類型為NetTcpSecurity的屬性,名為Security。NetTcpSecurity指定用NetTcpBinding配置的終結點所使用的傳輸級安全性和消息級安全性的類型。代碼清單11-8是NetTcpSecurity的定義(部分成員)。

代碼清單11-8   NetTcpSecurity定義

public sealed class NetTcpSecurity
    
{
    
    // Fields
    
    internal const SecurityMode DefaultMode = SecurityMode.Transport;
    
    // Methods
    
    public NetTcpSecurity();
    
      
    
    public MessageSecurityOverTcp Message {get; set; }
    
    public SecurityMode Mode { get; set; }
    
    public TcpTransportSecurity Transport { get; set; }
    
}

從以上代碼可以知道,NetTcpSecurity為NetTcpBinding設置安全模式,並根據安全模式指定傳輸和消息安全細節。同時,可以看到默認情況下,NetTcpSecurity為NetTcpBinding設置的傳輸安全類型為Transport。若安全類型為Transport,那麼需要設置TcpTransportSecurity屬性的值,TcpTransportSecurity的定義如代碼清單11-9所示。

代碼清單11-9     TcpTransportSecurity定義(部分代碼)

public sealed class TcpTransportSecurity
    
{
    
    internal const TcpClientCredentialType DefaultClientCredentialType = TcpClientCredentialType.Windows;
    
    internal const ProtectionLevel DefaultProtectionLevel = ProtectionLevel.EncryptAndSign;
    
     
    
    [DefaultValue(1)]
    
    public TcpClientCredentialType ClientCredentialType {  get; set; }
    
    public ExtendedProtectionPolicy ExtendedProtectionPolicy {  get; set; }
    
    [DefaultValue(2)]
    
    public ProtectionLevelProtectionLevel { get; set; }
    
}

以上代碼公開了TcpTransportSecurity的三個屬性,其中ClientCredentialType屬性用來獲取或設置用於身份驗證的客戶端憑據類型;ExtendedProtectionPolicy屬性用來獲取或設置 TCP 傳輸的擴展保護策略;ProtectionLevel用來設置保護級別。在默認情況下,客戶端憑據類型設置為Windows,保護級別為EncryptAndSign。

下面的系列博文通過實例來探究NetTcpBinding下的安全配置。

---------------------------------------注:本文部分內容改編自《.NET 安全揭秘》

作者:玄魂

出處:http://www.cnblogs.com/xuanhun/

查看本欄目

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