当前位置: 首页 > news >正文

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

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

默认情况下,NetTcpBinding会生成一个运行时通信堆栈,该堆栈使用传输安全。

NetTcpBinding类共有四个构造函数,分别如下:

q  NetTcpBinding()。初始化NetTcpBinding新实例。

q  NetTcpBinding(SecurityMode)。用所使用指定安全类型初始化NetTcpBinding新实例。

q  NetTcpBinding(String)。使用指定配置名称初始化NetTcpBinding新实例。

q  NetTcpBinding(SecurityMode, Boolean)用所使用指定安全类型和一个指示是否显式启用安全会话值来初始化NetTcpBinding新实例。

NetTcpBinding类有一个类型为NetTcpSecurity属性,名为SecurityNetTcpSecurity指定用NetTcpBinding配置终结点所使用传输级安全性和消息级安全性类型。代码清单11-8NetTcpSecurity定义(部分成员)。

代码清单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; }

}

从以上代码可以知道,NetTcpSecurityNetTcpBinding设置安全模式,并根据安全模式指定传输和消息安全细节。同时,可以看到默认情况下,NetTcpSecurityNetTcpBinding设置传输安全类型为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/archive/2012/06/24/2560033.html,如需转载请自行联系原作者

相关文章:

  • 微信公众号开发之网页中及时获取当前用户Openid及注意事项
  • cocos2d基本类介绍 director/scene/layer/sprite
  • TiDB 源码初探
  • 小而合理的前端理论:rscss和rsjs
  • Dell-R730 【Pxe+dhcp+ftp+tftp+Kickstart+CentOs6.6】
  • Bounce(弹走绵羊)lct裸题
  • MyBatis insert 返回主键的方法
  • dede数据库内容替换,去掉文章内容中的img标签
  • Android javaMail使用imap协议接收邮件
  • 缓存遇到的数据过滤与分页问题
  • 通过libVirt抓取kvm虚拟机监控指标数据
  • Eclipse+Pydev
  • TTL和RS232之间的详细对比
  • NSMutableArray崩溃信息
  • 艰困之道中学到的经验教训
  • CentOS7 安装JDK
  • CODING 缺陷管理功能正式开始公测
  • express.js的介绍及使用
  • GitUp, 你不可错过的秀外慧中的git工具
  • gops —— Go 程序诊断分析工具
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Mybatis初体验
  • nodejs:开发并发布一个nodejs包
  • use Google search engine
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • webpack入门学习手记(二)
  • 构建工具 - 收藏集 - 掘金
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 聊聊sentinel的DegradeSlot
  • 免费小说阅读小程序
  • 探索 JS 中的模块化
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 7行Python代码的人脸识别
  • 第二十章:异步和文件I/O.(二十三)
  • 积累各种好的链接
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​2020 年大前端技术趋势解读
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • (23)Linux的软硬连接
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (二)WCF的Binding模型
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (接口封装)
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)Sql Server 保留几位小数的两种做法
  • (转载)Linux网络编程入门
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .chm格式文件如何阅读
  • .form文件_一篇文章学会文件上传
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET 指南:抽象化实现的基类
  • @EnableConfigurationProperties注解使用