AsymmetricSecurityBindingElement 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个自定义绑定元素,它支持使用不对称加密的通道安全。 此绑定元素会使用发送方的身份验证令牌来签署消息,并使用接收方的令牌来加密消息。
public ref class AsymmetricSecurityBindingElement sealed : System::ServiceModel::Channels::SecurityBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public sealed class AsymmetricSecurityBindingElement : System.ServiceModel.Channels.SecurityBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type AsymmetricSecurityBindingElement = class
inherit SecurityBindingElement
interface IPolicyExportExtension
Public NotInheritable Class AsymmetricSecurityBindingElement
Inherits SecurityBindingElement
Implements IPolicyExportExtension
- 继承
- 实现
示例
下面的示例演示如何使用此类来创建将此类纳入为安全绑定因素的自定义绑定。 有关此示例中的代码的详细信息,请参阅 如何:一致引用 X.509 证书。
public Binding CreateClientBinding()
{
AsymmetricSecurityBindingElement abe =
(AsymmetricSecurityBindingElement)SecurityBindingElement.
CreateMutualCertificateBindingElement(
MessageSecurityVersion.
WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10);
abe.SetKeyDerivation(false);
X509SecurityTokenParameters istp =
abe.InitiatorTokenParameters as X509SecurityTokenParameters;
if (istp != null)
{
istp.X509ReferenceStyle =
X509KeyIdentifierClauseType.IssuerSerial;
}
X509SecurityTokenParameters rstp =
abe.RecipientTokenParameters as X509SecurityTokenParameters;
if (rstp != null)
{
rstp.X509ReferenceStyle =
X509KeyIdentifierClauseType.IssuerSerial;
}
HttpTransportBindingElement transport =
new HttpTransportBindingElement();
return new CustomBinding(abe, transport);
}
Public Function CreateClientBinding() As Binding
Dim abe As AsymmetricSecurityBindingElement = CType(SecurityBindingElement.CreateMutualCertificateBindingElement(MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10), AsymmetricSecurityBindingElement)
abe.SetKeyDerivation(False)
Dim istp As X509SecurityTokenParameters = TryCast(abe.InitiatorTokenParameters, X509SecurityTokenParameters)
If istp IsNot Nothing Then
istp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial
End If
Dim rstp As X509SecurityTokenParameters = TryCast(abe.RecipientTokenParameters, X509SecurityTokenParameters)
If rstp IsNot Nothing Then
rstp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial
End If
Dim transport As New HttpTransportBindingElement()
Return New CustomBinding(abe, transport)
End Function
注解
自定义绑定包含以特定顺序排列的绑定元素集合:首先添加表示绑定堆栈顶部的元素,其次是绑定堆栈中的下一个元素,依此类推。
将此类添加到绑定中
在绑定堆栈中创建将位于此绑定元素之上的自定义绑定元素,比如可选的 TransactionFlowBindingElement 和 ReliableSessionBindingElement。
使用 BindingElementCollection 方法,按照上述顺序将已创建的元素添加到 InsertItem(Int32, BindingElement)。
创建 AsymmetricSecurityBindingElement 的实例,并将其添加到集合。
将任何其他自定义绑定元素添加到集合,比如 TcpTransportBindingElement。
使用此类之前,你应该确定标准绑定是否能够满足你的安全需求。
备注
在创建此对象的实例后,您应该将其基类 SecurityBindingElement 的属性视为不可变的。 对某些属性调用 set 可能会产生不可预知的效果:绑定的行为可能就好像属性保留了其旧值一样,并出现运行时错误,该错误是问题的唯一迹象。 已知具有此行为的两个属性为 KeyType 和 MessageSecurityVersion。 其他某些属性可能也是如此。
构造函数
AsymmetricSecurityBindingElement() |
创建此类的实例。 |
AsymmetricSecurityBindingElement(SecurityTokenParameters) |
使用指定的接收方令牌参数初始化 AsymmetricSecurityBindingElement 类的新实例。 |
AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) |
使用指定的接收方和发起方令牌参数初始化 AsymmetricSecurityBindingElement 的新实例。 |
属性
方法
显式接口实现
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
导出关于绑定的自定义策略断言,将其添加到 Web 服务描述语言 (WSDL) 信息中。 |