Freigeben über


AsymmetricSecurityBindingElement Klasse

Definition

Stellt ein benutzerdefiniertes Bindungselement dar, das die Kanalsicherheit mithilfe asymmetrischer Verschlüsselung unterstützt. Dieses Bindungselement signiert die Nachricht mithilfe des Authentifizierungstokens des Absenders und verschlüsselt die Nachricht mithilfe des Empfängertokens.

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
Vererbung
AsymmetricSecurityBindingElement
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie diese Klasse verwenden, um eine benutzerdefinierte Bindung zu erstellen, die diese Klasse als Sicherheitsbindungselement enthält. Weitere Informationen zum Code in diesem Beispiel finden Sie unter How to: Consistently Reference X.509 Certificates.

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

Hinweise

Eine benutzerdefinierte Bindung enthält eine Auflistung von Bindungselementen, die in einer bestimmten Reihenfolge angeordnet sind: Das Element, das den oberen Rand des Bindungsstapels darstellt, wird zuerst hinzugefügt, das nächste Element unten im Bindungsstapel hinzugefügt, zweiten hinzugefügt usw.

So fügen Sie diese Klasse einer Bindung hinzu

  1. Erstellen Sie eine BindingElementCollection.

  2. Erstellen Sie benutzerdefinierte Bindungselemente, die über diesem Bindungselement im Bindungsstapel liegen, z. B. optional TransactionFlowBindingElement und ReliableSessionBindingElement.

  3. Fügen Sie die erstellten Elemente in der vorherigen Reihenfolge zur BindingElementCollection Verwendung der InsertItem(Int32, BindingElement) Methode hinzu.

  4. Erstellen Sie eine Instanz der AsymmetricSecurityBindingElement Auflistung, und fügen Sie sie der Auflistung hinzu.

  5. Fügen Sie der Auflistung zusätzliche benutzerdefinierte Bindungselemente hinzu, z TcpTransportBindingElement. B. .

Bevor Sie diese Klasse verwenden, sollten Sie ermitteln, ob eine Standardbindung Ihre Sicherheitsanforderungen erfüllt.

Hinweis

Nachdem eine Instanz dieses Objekts erstellt wurde, sollten Sie die Eigenschaften der Basisklasse SecurityBindingElement als unveränderlich behandeln. Das Aufrufen einiger Eigenschaften kann unvorhersehbare Auswirkungen haben: Die Bindung verhält sich möglicherweise so, als ob die Eigenschaft ihren alten Wert beibehalten hat, wobei ein Laufzeitfehler der einzige Hinweis auf ein Problem ist. Zwei Eigenschaften, die sich auf diese Weise verhalten, sind KeyType und MessageSecurityVersion. Es kann andere Eigenschaften geben, auf die dies zutrifft.

Konstruktoren

Name Beschreibung
AsymmetricSecurityBindingElement()

Erstellt eine Instanz dieser Klasse.

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

Initialisiert eine neue Instanz mit AsymmetricSecurityBindingElement den angegebenen Empfänger- und Initiatortokenparametern.

AsymmetricSecurityBindingElement(SecurityTokenParameters)

Initialisiert eine neue Instanz mit AsymmetricSecurityBindingElement den angegebenen Empfängertokenparametern.

Eigenschaften

Name Beschreibung
AllowInsecureTransport

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob gesicherte Nachrichten im gemischten Modus über einen ungesicherten Transport wie HTTP gesendet werden können.

(Geerbt von SecurityBindingElement)
AllowSerializedSigningTokenOnReply

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Serialisieren eines Signaturtokens für eine Antwortnachricht zulässig ist.

DefaultAlgorithmSuite

Ruft die Nachrichtenverschlüsselung und Schlüsselumbruchalgorithmen ab oder legt sie fest.

(Geerbt von SecurityBindingElement)
EnableUnsecuredResponse

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob WCF ungesicherte Antworten an gesicherte Anforderungen senden und empfangen kann.

(Geerbt von SecurityBindingElement)
EndpointSupportingTokenParameters

Ruft den Endpunkt ab, der Tokenparameter unterstützt.

(Geerbt von SecurityBindingElement)
IncludeTimestamp

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Zeitstempel in jeder Nachricht enthalten sind.

(Geerbt von SecurityBindingElement)
InitiatorTokenParameters

Gibt die Tokendefinition für den Initiator an.

KeyEntropyMode

Ruft die Quelle der Entropie ab, die zum Erstellen von Schlüsseln verwendet wird, oder legt sie fest.

(Geerbt von SecurityBindingElement)
LocalClientSettings

Ruft die bindungsspezifischen Bindungseigenschaften für lokale Sicherheitseinstellungen ab, die vom Client verwendet werden.

(Geerbt von SecurityBindingElement)
LocalServiceSettings

Ruft die bindungsspezifischen Bindungseigenschaften für lokale Sicherheitseinstellungen ab, die vom Dienst verwendet werden.

(Geerbt von SecurityBindingElement)
MessageProtectionOrder

Ruft die Reihenfolge der Nachrichtenverschlüsselung und -signierung für diese Bindung ab oder legt sie fest.

MessageSecurityVersion

Ruft die Nachrichtensicherheitsversion ab oder legt sie fest.

(Geerbt von SecurityBindingElement)
OperationSupportingTokenParameters

Ruft die Sammlung des Vorgangs ab, der Tokenparameter unterstützt.

(Geerbt von SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

Ruft die optionalen unterstützenden Tokenparameter für den Dienstendpunkt ab.

(Geerbt von SecurityBindingElement)
OptionalOperationSupportingTokenParameters

Ruft die Sammlung optionaler Vorgangs unterstützende Tokenparameter ab.

(Geerbt von SecurityBindingElement)
ProtectTokens

Ruft ab oder legt fest, ob das Sicherheitsbindungselement Token schützt.

(Geerbt von SecurityBindingElement)
RecipientTokenParameters

Gibt die Tokendefinition für den Empfänger an.

RequireSignatureConfirmation

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Nachrichtensignaturen bestätigt werden müssen.

SecurityHeaderLayout

Dient zum Abrufen oder Festlegen der Reihenfolge der Elemente im Sicherheitsheader für diese Bindung.

(Geerbt von SecurityBindingElement)

Methoden

Name Beschreibung
BuildChannelFactory<TChannel>(BindingContext)

Erstellt eine Kanalfactory basierend auf den SecurityBindingElement Einstellungen und dem übergebenen Bindungskontext. Die erstellte Kanalfactory ist eine SOAP-Nachrichtensicherheitskanalfactory, die intern über einen Verweis auf die Kanalfactory verfügt, die dem Bindungskontext entspricht (einschließlich der Transportkanalfactory).

(Geerbt von SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext)

Erstellt bei der Implementierung eine Kanalfactory eines angegebenen Typs.

(Geerbt von SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext)

Erstellt einen Kanallistener basierend auf den SecurityBindingElement Einstellungen und dem übergebenen Bindungskontext.

(Geerbt von SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext)

Erstellt bei der Implementierung einen Kanallistener eines angegebenen Typs.

(Geerbt von SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Bestimmt, ob eine Kanalfactory des angegebenen Typs erstellt werden kann.

(Geerbt von SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

Bestimmt, ob ein Kanallistener des angegebenen Typs erstellt werden kann.

(Geerbt von SecurityBindingElement)
Clone()

Erstellt eine neue Instanz dieser Klasse, die aus der aktuellen Klasse initialisiert wurde.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetProperty<T>(BindingContext)

Ruft ein angegebenes Objekt aus der BindingContext.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
SetKeyDerivation(Boolean)

Legt einen Wert fest, der angibt, ob abgeleitete Schlüssel erforderlich sind.

ToString()

Gibt eine Zeichenfolge zurück, die diese AsymmetricSecurityBindingElement Instanz darstellt.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Exportiert eine benutzerdefinierte Richtlinien assertion zu Bindungen, die den Informationen zur Webdienstbeschreibungssprache (Web Services Description Language, WSDL) hinzugefügt werden.

Gilt für: