WCF NetTcpBinding Transport安全模式(7)   ClientCredentialType证书验证模式----ChainTrust验证模式

ChainTrust验证模式使用证书链来验证 X.509证书是否有效以及是否由受信任的颁发者所颁发。它指定每个证书都必须存在于某个证书层次结构中,而该层次结构以位于证书链顶端的根证书颁发机构结束。它将验证 X.509证书是否由受信任的证书颁发机构颁发。通过搜索证书存储区并确定是否已将该证书颁发机构的证书指定为受信任的证书,可以做到这一点。为了使 WCF能够做出此判断,必须将证书颁发机构证书链安装在正确的证书存储区中。

因为 Windows附带一组默认的用于受信任证书颁发机构的证书链,所以可能不必为所有证书颁发机构安装证书链。

扩展阅读       X.509的证书链说明

crt上有证书持有人的信息、持有人的公钥、签署者的签名。当安装了一个证书后,就信任了这份证书。证书上会说明用途,例如服务器认证、客户端认证,或者签署其他证书。当系统收到一份新的证书的时候,证书会说明是由谁签署的。如果这个签署者确实可以签署其他证书,并且收到证书上的签名和签署者的公钥可以对上的时候,系统就自动信任新的证书。
  在系统开始的时候,会自动安装信任一些证书机构,这些被称为根证书机构(CA)。根证书机构会为其他公司颁发证书,用于各种用途。当然,被签署的证书也可能是一份“可签署证书”,这样就要检查对方的资质。这样逐层签署,就会形成“证书链”。

设置验证模式为“ChainTrust”的配置如以下代码所示。

在服务端设置验证客户端凭据模式为“ChainTrust”:

<clientCertificate >

<certificate findValue="XuanhunClient"

storeLocation="CurrentUser"

storeName="My"

x509FindType="FindBySubjectName"/>

<authentication certificateValidationMode="ChainTrust" trustedStoreLocation="CurrentUser"  />

</clientCertificate>

在客户端设置验证验证服务端凭据模式为“ChainTrust”:

<serviceCertificate >

<defaultCertificate

x509FindType="FindBySubjectName"

storeLocation="CurrentUser"

storeName="TrustedPeople"

findValue="XuanhunServer"

/>

<authentication certificateValidationMode="ChainTrust"  />

</serviceCertificate>

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

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

WCF NetTcpBinding Transport安全模式(7) ClientCredentialType证书验证模式---- ChainTrust验证模式...相关推荐

  1. WCF NetTcpBinding Transport安全模式(6) ClientCredentialType证书验证模式---- PeerTrust验证模式...

    WCF NetTcpBinding Transport安全模式(6)   ClientCredentialType证书验证模式---- PeerTrust验证模式 当证书验证模式设置为"Pe ...

  2. WCF wsHttpBinding之Transport security Mode, clientCredentialType=”Basic”

    如何在WCF中使用Transport Security Mode,以及如何创建证书,请参见<WCF basicHttpBinding之Transport Security Mode, clien ...

  3. java wcf 未提供用户名_WCF安全之自定义用户名密码验证方式 | 学步园

    概述 Windows Communication Foundation (WCF) 是 Microsoft 为构建面向服务的应用程序而提供的统一编程模型(摘自MSDN),在分布式环境下的安全问题尤为重 ...

  4. 【记】微信支付服务器证书更换通知的验证流程

    [记]微信支付服务器证书更换通知的验证流程 原文:[记]微信支付服务器证书更换通知的验证流程 [重要]微信支付服务器证书更换通知,请开发人员验证以免影响交易 尊敬的微信支付商户&服务商: 因微 ...

  5. 阿里云如何申请证书绑定域名以及域名验证

    完成SSL证书购买后,需要在阿里云SSL证书控制台补全证书申请的审核资料 1.进入阿里云的控制台--------安全(云盾)-------证书服务-----我的订单:找到你的证书-----选择&quo ...

  6. 申请了SSL数字证书如何进行域名验证?

    为了防止域名被冒用申请SSL证书的域名,要求先验证这个域名的所有权,虽然是系统自动审核,但是还是需要申请者进行配合.按照要求正确的配置域名验证信息,等待CA系统中心审核通过后,才会颁发证书.目前可用的 ...

  7. java 生成证书 pkcs12_PKCS12 证书的生成及验证

    本文首先感谢 Apple 开发者论坛的eskimo1,他是我见过的最热心肠的人,对任何人他都不吝于给予无私帮助. 服务器生成PKCS12证书库,并通过servlet导出为DER客户端证书(含一个密钥和 ...

  8. HTTPS实战之单向验证和双向验证

    转载自:https://mp.weixin.qq.com/s/UiGEzXoCn3F66NRz_T9crA 原创: 涛哥 coding涛 6月9日 作者对https 解释的入目三分啊 (全文太长,太懒 ...

  9. 【Kubernetes】k8s的安全管理详细说明【k8s框架说明、token验证和kubeconfig验证详细说明】

    文章目录 环境准备 k8s安全框架介绍 token验证 说明 启用token验证 测试token验证 base-auth[已经被淘汰] kubeconfig验证 说明 kubeconfig文件拷贝做测 ...

  10. HTTPS的SSL单向验证和双向验证

    HTTPS的SSL单向验证和双向验证 ​ HTTPs利用SSL/TLS建立安全信道,加密数据包,主要目的是提供对网站服务器的身份认证,同时保护交换数据的安全性与完整性 SSL/TLS ​ TLS在传输 ...

最新文章

  1. python bs4 安装_Python安装Bs4的多种方法
  2. 《用Python进行自然语言处理》第 4 章 编写结构化程序
  3. Day14 自己定义泛型类的使用
  4. Linux系统存储交换机日志
  5. 使用C#实现Morse码的输出
  6. C语言中执行python代码或源程序文件(高级嵌入方式)
  7. LeetCode 2040. 两个有序数组的第 K 小乘积(嵌套二分查找)
  8. 关于kafka的几个问题
  9. ws配置 zuul_微服务网关 Spring Cloud Gateway
  10. layui框架简单解读,为什么要使用layui框架,layui框架的好处,后端程序员快速学习掌握layui框架技术型文档博文,layui学习笔记,快速掌握前端技术框架
  11. 《HBase权威指南》一第1章 简介
  12. Windows如何刷新DNS缓存
  13. VS2017离线安装过程及下载缓慢处理(项目打包部署)
  14. Foxmail与QQ邮箱关联创建新账户
  15. Win10代理自动打开无法永久关闭的问题排查和如何解决
  16. 如何让IE11自动下载安装ActiveX插件并使用网页VLC播放视频
  17. ios android 比较大小,对比苹果iOS,安卓7.0的七个优点
  18. excel单元格斜线_含金量100%的9个Excel函数公式,全部100%掌握的都是超级高手!...
  19. ZJNU——1695(分栗子)
  20. php类和对象教程,php类和对象

热门文章

  1. 4.7 Spark SQL 数据分析流程
  2. 64 ----平面与直线之间的位置关系、平面与直线之间的交角、两直线两平面的位置关系
  3. 6.2GPT意境级讲解
  4. Matplotlib Toolkits:地图绘制工具
  5. Scikit-learn:模型选择Model selection之pipline和交叉验证
  6. PyQt5教程 - QtDesigner窗口设计工具的使用
  7. 服务器硬件工程师从入门到精通_硬件工程师必阅--如何“0基础”从入门到精通?(附CAD使用指南)...
  8. 迁徙图_2亿农民工10年迁徙图: “中西飞”成大趋势,进城者减少
  9. Java 多线程(三)优先级、休眠(未完待续...)
  10. 计算机领域各个技术——汇总篇