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) 資訊。 |