AsymmetricSecurityBindingElement 類別

定義

表示使用非對稱加密支援通道安全性的自訂繫結項目。 這個繫結項目會使用傳送者的驗證權杖簽署訊息,並且使用收件者的權杖加密訊息。

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
繼承
AsymmetricSecurityBindingElement
實作

範例

下列範例示範如何使用這個類別,建立將這個類別納入成為安全性繫結項目的自訂繫結。 如需此範例中程式碼的詳細資訊,請參閱 如何:一致地參考 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

備註

自訂繫結包含以特定順序排列的繫結項目的集合:第一個先新增代表繫結堆疊頂端的項目,第二個新增繫結堆疊中的下一個項目,依此類推。

若要將這個類別加入至繫結

  1. 建立 BindingElementCollection

  2. 建立在繫結堆疊中位於此繫結項目上方的自訂繫結項目,例如選擇性的 TransactionFlowBindingElementReliableSessionBindingElement

  3. 依先前所述的順序,使用 BindingElementCollection 方法將建立的項目加入至 InsertItem(Int32, BindingElement)

  4. 建立 AsymmetricSecurityBindingElement 的執行個體,並將它新增至集合。

  5. 將其他任何自訂繫結項目新增至集合中,例如 TcpTransportBindingElement

在使用這個類別之前,您應該先判斷有無標準繫結程序可符合您的安全性需求。

注意

一旦建立此物件的執行個體,您應將其基底類別 SecurityBindingElement 的屬性視為不可變動。 在某些屬性上呼叫 set 可能會產生無法預測的結果:繫結的行為可能如同屬性保留舊的值一般,而且執行階段錯誤是發生問題的唯一徵兆。 已知可能出現這種行為的兩個屬性是 KeyTypeMessageSecurityVersion。 另外可能還有其他屬性也會出現同樣的狀況。

建構函式

AsymmetricSecurityBindingElement()

建立這個類別的執行個體。

AsymmetricSecurityBindingElement(SecurityTokenParameters)

使用指定的收件者權杖參數,初始化 AsymmetricSecurityBindingElement 的新執行個體。

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

使用指定的收件者與啟動器權杖參數,初始化 AsymmetricSecurityBindingElement 的新執行個體。

屬性

AllowInsecureTransport

取得或設定值,這個值表示是否可傳送混合模式的安全訊息至不安全的傳輸,例如 HTTP。

(繼承來源 SecurityBindingElement)
AllowSerializedSigningTokenOnReply

取得或設定值,這個值表示是否允許序列化回覆訊息的簽署權杖。

DefaultAlgorithmSuite

取得或設定訊息加密和金鑰包裝演算法。

(繼承來源 SecurityBindingElement)
EnableUnsecuredResponse

取得或設定值,這個值表示 WCF 是否可以接收及傳送不安全的回應至安全的要求。

(繼承來源 SecurityBindingElement)
EndpointSupportingTokenParameters

取得支援權杖參數的端點。

(繼承來源 SecurityBindingElement)
IncludeTimestamp

取得或設定值,指出時間戳記是否包含在各個訊息中。

(繼承來源 SecurityBindingElement)
InitiatorTokenParameters

指定啟動器的權杖定義。

KeyEntropyMode

取得或設定用於建立金鑰的 Entropy 來源。

(繼承來源 SecurityBindingElement)
LocalClientSettings

取得用戶端所使用本機安全性設定的特定繫結項目。

(繼承來源 SecurityBindingElement)
LocalServiceSettings

取得服務所使用本機安全性設定的特定繫結項目。

(繼承來源 SecurityBindingElement)
MessageProtectionOrder

取得或設定此繫結的訊息加密和簽章順序。

MessageSecurityVersion

取得或設定訊息安全性版本。

(繼承來源 SecurityBindingElement)
OperationSupportingTokenParameters

取得支援權杖參數之作業的集合。

(繼承來源 SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

取得服務端點的選擇性支援權杖參數。

(繼承來源 SecurityBindingElement)
OptionalOperationSupportingTokenParameters

取得支援權杖參數之選擇性作業的集合。

(繼承來源 SecurityBindingElement)
ProtectTokens

取得或設定安全性繫結項目是否保護權杖。

(繼承來源 SecurityBindingElement)
RecipientTokenParameters

指定收件者的權杖定義。

RequireSignatureConfirmation

取得或設定值,這個值指出是否必須確認訊息簽章。

SecurityHeaderLayout

取得或設定此繫結之安全性標頭中的項目順序。

(繼承來源 SecurityBindingElement)

方法

BuildChannelFactory<TChannel>(BindingContext)

根據傳入的 SecurityBindingElement 設定和繫結內容建立通道處理站。 所建立的通道處理站是 SOAP 訊息安全性通道處理站,其內部具有對應至繫結內容之通道處理站的參考 (包括傳輸通道處理站)。

(繼承來源 SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext)

當實作時會建立指定型別的通道處理站。

(繼承來源 SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext)

根據傳入的 SecurityBindingElement 設定和繫結內容建立通道接聽程式。

(繼承來源 SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext)

當實作時會建立指定型別的通道接聽程式。

(繼承來源 SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

判斷是否可以建置指定之型別的通道處理站。

(繼承來源 SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

判斷是否可以建置指定之型別的通道接聽項。

(繼承來源 SecurityBindingElement)
Clone()

建立從目前執行個體初始化之類別的新執行個體。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetProperty<T>(BindingContext)

BindingContext 中取得指定的物件。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
SetKeyDerivation(Boolean)

設定值,指出是否需要衍生金鑰。

ToString()

傳回表示這個 AsymmetricSecurityBindingElement 執行個體的字串。

明確介面實作

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

匯出關於繫結的自訂原則判斷提示,以便新增至 Web 服務描述語言 (WSDL) 資訊。

適用於