WCF +证书的客户端身份验证

时间:2012-02-24 08:29:34

标签: wcf security authentication ssl certificate

我正在运行WCF服务,该服务应该只接受能够通过ssl客户端证书对自己进行身份验证的客户端。作为安全模式,我正在使用传输安全性。要求身份验证过程由PeerTrust完成。遗憾的是,传输安全性与PeerTrust不兼容 - 这意味着ChainTrust始终是首选方法。在这种情况下,每个客户端都是可信的,其中包含由CA签名的证书,该证书存储在我的“可信CA Store”中。这不是我需要的行为。

我试图通过自定义的certificatevalidator来解决这个问题。这似乎有效。我得到了证书的回调,我可以验证我是否信任证书。

我的问题是,我不确定将证书提供给自定义验证器中的“验证”方法时的状态。 SSL通常通过提供客户端证书来检查客户端是否具有相应的私钥。换句话说,我的问题是,我不确定,如果我正在与之交谈的客户,我认为他是客户。

<serviceBehaviour>
    <behavior name="sslbehaviour">
      <serviceMetadata httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true"/>
      <serviceThrottling maxConcurrentSessions="2000000000" maxConcurrentCalls="2000000000" maxConcurrentInstances="2000000000"/>
      <serviceCredentials>
        <clientCertificate>
          <authentication certificateValidationMode="Custom" customCertificateValidatorType="Package.MyX509CertificateValidator, server"/>
        </clientCertificate>
      </serviceCredentials>
    </behavior>
    </serviceBehaviors>

欢迎获得PeerTrust客户端验证的其他方法。

亲切的问候, 迈克尔

0 个答案:

没有答案