<peerAuthentication> 元素
指定用于对等客户端的身份验证选项。
有关对等编程详细信息,请参阅对等网络。
configuration
system.serviceModel
behaviors
endpointBehaviors
behavior
<clientCredentials>
<peer>
<peerAuthentication>
语法
<peerAuthentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="CurrentUser/LocalMachine" />
特性和元素
以下几节描述了特性、子元素和父元素。
特性
属性 | 说明 |
---|---|
customCertificateValidatorType |
可选的字符串。 一个用于验证自定义类型的类型和程序集。 当 certificateValidationMode 设置为 Custom 时,必须设置此属性。 |
certificateValidationMode |
可选的枚举。 指定用来验证凭据的三种模式之一。 如果设置为 Custom ,则还必须提供 customCertificateValidator 。 默认值为 ChainTrust 。 |
revocationMode |
可选的枚举。 用于检查吊销证书列表 (CRL) 的一种模式。 默认值为 Online 。 |
trustedStoreLocation |
可选的枚举。 两个系统存储位置之一:LocalMachine 或 CurrentUser 。 在向客户端协商服务证书时使用此值。 验证会针对指定的存储位置中的“受信任人”存储来执行。 默认为 CurrentUser 。 |
customCertificateValidatorType 属性
值 | 说明 |
---|---|
String | 指定类型名称和程序集以及用于查找类型的其他数据。 至少需要命名空间和类型名称。 可选信息包括:程序集名称、版本号、区域性和公钥标记。 |
certificateValidationMode 属性
值 | 说明 |
---|---|
枚举 | 下列值之一:None 、PeerTrust 、ChainTrust 、PeerOrChainTrust 和 Custom 。 默认值为 ChainTrust 。有关详细信息,请参阅使用证书。 |
revocationMode 属性
值 | 说明 |
---|---|
枚举 | 下列值之一:NoCheck 、Online 和 Offline 。 默认值为 Online 。有关详细信息,请参阅使用证书。 |
trustedStoreLocation 属性
值 | 说明 |
---|---|
枚举 | 以下值之一:LocalMachine 或 CurrentUser 。 默认为 CurrentUser 。 如果客户端应用程序在系统帐户下运行,则证书通常位于 LocalMachine 。 如果客户端应用程序在用户帐户下运行,则证书通常位于 CurrentUser 。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
<peer> | 指定一个用于向对等服务证明客户端身份的凭据。 |
备注
<authentication>
元素与 X509PeerCertificateAuthentication 类相对应。 此元素指定一个验证程序,在网格中执行邻居对等身份验证的过程中将调用该验证程序。 当新对等方尝试建立邻居连接时,它会将自己的凭据传递到响应的对等方。 将调用响应方的验证程序来验证远程方的凭据。 每当在网格中建立对等连接时,对等方将会相互进行身份验证,这意味着会同时在两方调用验证程序。
示例
下面的代码将证书验证模式设置为 PeerOrChainTrust
。
<behaviors>
<endpointBehaviors>
<behavior name="MyEndpointBehavior">
<clientCredentials>
<peer>
<certificate findValue="www.contoso.com"
storeLocation="LocalMachine"
x509FindType="FindByIssuerName" />
<peerAuthentication certificateValidationMode="PeerOrChainTrust" />
<messageSenderAuthentication certificateValidationMode="None" />
</peer>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>