WCF NetTcpBinding Transport安全模式(9) ClientCredentialType证书验证模式----Custom验证模式

简介:

WCF NetTcpBinding Transport安全模式(9)   ClientCredentialType证书验证模式----Custom验证模式

   Custom验证模式提供了更灵活可定制证书验证方式,当需要自定义验证时候,可以采用这种方式。以下代码是修改客户端验证为“Custom”模式后相关配置。

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

    <serviceCertificate >

       <authentication certificateValidationMode="Custom"  

              customCertificateValidatorType="WcfSecurityExampleServiceLibrary.MyX509CertificateValidator,

              WcfSecurityExampleServiceLibrary" />

            </serviceCertificate>

如以上代码所示,配置“Custom”验证模式需要指定自定义验证程序,本例中类型为“WcfSecurityExampleServiceLibrary.MyX509CertificateValidator”,名称空间为“WcfSecurityExampleServiceLibrary”,实现代码如代码清单11-25所示。

代码清单11-24    自定义验证程序

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;    

using System.IdentityModel.Selectors;

 

namespace WcfSecurityExampleServiceLibrary

{

    public class MyX509CertificateValidator : X509CertificateValidator

    {

        public override void Validate(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate)

        {

            if (certificate.SerialNumber.ToLower() != "9414bfe12286dc874b631a702c7d2ad9")

                throw new Exception("Certificate  Error!");

        }

    }

}

以上代码给出了一个最简单实现自定义验证示例。首先,实现自定义验证程序类必须要继承X509CertificateValidator抽象类,然后根据实际情况重写Validate方法。本例中,简单地判断服务端证书序列号是否符合预期。初始情况下,要验证序列号和服务端证书序列号不符,运行结果如图11-19所示。

图11-14        自定义验证异常

从图11-19中可以看出,当服务端证书序列号和自定义验证程序要求不一致时候,抛出了自定义异常信息。下面将自定义验证程序预期序列号调整为何服务端证书一致,运行结果如图11-20所示。

图11-15        正确自定义验证

 

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


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

目录
相关文章
|
安全 网络协议 网络安全
WCF安全3-Transport与Message安全模式
WCF安全3-Transport与Message安全模式
158 0
WCF安全3-Transport与Message安全模式
|
存储 算法 安全
WCF安全2-非对称加密
WCF安全2-非对称加密
173 0
WCF安全2-非对称加密
|
安全 数据安全/隐私保护
WCF安全1-开篇
WCF安全1-开篇
146 0
WCF安全1-开篇
WCF入门(三)——消息交换模式
在WCF中的消息交换模式: (一)one way 单向:使用单向操作时,只能传输一个消息。 接收方不发送答复消息,发送方也不需要获得答复消息。如果是单向,那么意味着服务处理客户请求的过程中出现的异常信息,也无法传递到客户。
618 0
|
C# 数据安全/隐私保护
c#如何创建WCF服务到发布(SqlServer版已经验证)
c#如何创建WCF服务到发布(SqlServer版已经验证)
88 0
|
安全 数据库连接 数据库
WCF服务创建到发布(SqlServer版)
在本示例开始之前,让我们先来了解一下什么是wcf? wcf有哪些特点? wcf是一个面向服务编程的综合分层架构。该架构的项层为服务模型层。 使用户用最少的时间和精力建立自己的软件产品和外界通信的模型。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案。且能与已有系统兼容写作。 简单概括就是:一组数据通信的应用程序开发接口。
150 0
|
前端开发
WCF更新服务引用报错的原因之一
WCF更新服务引用报错的原因之一

热门文章

最新文章