SecurityBindingElement Klasse

Definition

Eine abstrakte Klasse, die nach der Implementierung ein Bindungselement darstellt, das Sicherheit für Kanal-SOAP-Nachrichten unterstützt.

public ref class SecurityBindingElement abstract : System::ServiceModel::Channels::BindingElement
public abstract class SecurityBindingElement : System.ServiceModel.Channels.BindingElement
type SecurityBindingElement = class
    inherit BindingElement
Public MustInherit Class SecurityBindingElement
Inherits BindingElement
Vererbung
SecurityBindingElement
Abgeleitet

Hinweise

Diese Klasse ist die Basisklasse für die SOAP-Nachrichtensicherheitsbindungselemente in WCF. Es gibt drei Implementierungen dieser abstrakten Klasse: SymmetricSecurityBindingElement, AsymmetricSecurityBindingElement und TransportSecurityBindingElement. Diese Implementierungen modellieren die in der WS-Security Policy-Spezifikation definierten Bindungen.

Eine benutzerdefinierte Bindung enthält eine Auflistung von Bindungselementen, die in einer bestimmten Reihenfolge angeordnet sind: Das Element, das das erste Element des Bindungsstapels darstellt, wird zuerst hinzugefügt, das darauf folgende Element wird als zweites hinzugefügt usw.

Gehen Sie wie folgt vor, um diese Klasse zu einer Bindung hinzuzufügen:

  1. Erstellen Sie eine BindingElementCollection.

  2. Erstellen Sie ein benutzerdefiniertes Bindungselement, das sich über diesem Bindungselement im Bindungsstapel befindet, wie zum Beispiel das optionale TransactionFlowBindingElement und ReliableSessionBindingElement.

  3. Fügen Sie diese Elemente in der zuvor angegebenen Reihenfolge zur BindingElementCollection hinzu, indem Sie die InsertItem-Methode verwenden.

  4. Erstellen Sie eine Instanz eines Sicherheitsbindungselements, die vom SecurityBindingElement abgeleitet wird, z. B. AsymmetricSecurityBindingElement, SymmetricSecurityBindingElement oder TransportSecurityBindingElement.

  5. Fügen Sie der Auflistung das abgeleitete Sicherheitsbindungselement hinzu.

  6. Fügen Sie weitere benutzerdefinierte Bindungselemente zur Auflistung hinzu, wie zum Beispiel TcpTransportBindingElement.

Weitere Informationen zur Verwendung von SecurityBindingElementfinden Sie unter SecurityBindingElement-Authentifizierungsmodi und Vorgehensweise: Erstellen einer benutzerdefinierten Bindung mithilfe von SecurityBindingElement.

Hinweis

Nachdem ein SecurityBindingElement-Objekt erstellt wurde, sollten Sie seine Eigenschaften als unveränderlich behandeln. Das Aufrufen von set für einige Eigenschaften kann zu unvorhergesehenen Auswirkungen führen: Die Bindung verhält sich möglicherweise so, als ob die Eigenschaft den alten Wert beibehalten hätte, wobei nur ein Laufzeitfehler auf ein Problem hinweist. Zwei Eigenschaften, die für diese Verhaltensweise bekannt sind, sind KeyType und MessageSecurityVersion. Es gibt möglicherweise weitere Eigenschaften, für die dies ebenfalls gilt.

Eigenschaften

AllowInsecureTransport

Ruft einen Wert ab, der angibt, ob gesicherte Meldungen im gemischten Modus über einen ungesicherten Transport z. B. HTTP gesendet werden können, oder legt ihn fest.

DefaultAlgorithmSuite

Ruft die Nachrichtenverschlüsselungs- und Key Wrap-Algorithmen ab oder legt sie fest.

EnableUnsecuredResponse

Ruft einen Wert ab, der angibt, ob WCF senden kann und ungesicherte Antworten auf gesicherte Anforderungen empfangen, oder legt ihn fest.

EndpointSupportingTokenParameters

Ruft den Endpunkt ab, der Tokenparameter unterstützt.

IncludeTimestamp

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob jede Nachricht einen Zeitstempel enthält.

KeyEntropyMode

Ruft die Entropiequelle zum Erstellen von Schlüsseln ab oder legt diese fest.

LocalClientSettings

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

LocalServiceSettings

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

MessageSecurityVersion

Ruft die Nachrichtensicherheitsversion ab oder legt sie fest.

OperationSupportingTokenParameters

Ruft die Auflistung von Vorgängen ab, die Tokenparameter unterstützen.

OptionalEndpointSupportingTokenParameters

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

OptionalOperationSupportingTokenParameters

Ruft die Auflistung von optionalen Vorgängen ab, die Tokenparameter unterstützen.

ProtectTokens

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

SecurityHeaderLayout

Ruft die Reihenfolge der Elemente im Sicherheitsheader für diese Bindung ab oder legt diese fest.

Methoden

BuildChannelFactory<TChannel>(BindingContext)

Erstellt eine Kanalfactory anhand der SecurityBindingElement-Einstellungen und dem übergebenen Bindungskontext. Die erstellte Kanalfactory ist eine SOAP-Nachrichtensicherheits-Kanalfactory, die über einen internen Verweis auf die Kanalfactory verfügt, die dem Bindungskontext entspricht (der die Transportkanalfactory umfasst).

BuildChannelFactoryCore<TChannel>(BindingContext)

Erstellt nach Implementierung eine Kanalfactory eines angegebenen Typs.

BuildChannelListener<TChannel>(BindingContext)

Erstellt anhand der SecurityBindingElement-Einstellungen und dem übergebenen Bindungskontext einen Kanallistener.

BuildChannelListener<TChannel>(BindingContext)

Initialisiert einen Kanallistener, der Kanäle eines bestimmten Typs aus dem Bindungskontext annimmt.

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

Erstellt bei Implementierung einen Kanallistener eines angegebenen Typs.

CanBuildChannelFactory<TChannel>(BindingContext)

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

CanBuildChannelListener<TChannel>(BindingContext)

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

CanBuildChannelListener<TChannel>(BindingContext)

Gibt einen Wert zurück, der angibt, ob das Bindungselement einen Listener für einen bestimmten Typ von Kanal erstellen kann.

(Geerbt von BindingElement)
Clone()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Kopie des Bindungselementobjekts zurück.

(Geerbt von BindingElement)
CreateAnonymousForCertificateBindingElement()

Erstellt ein symmetrisches Sicherheitsbindungselement, das zur anonymen Clientauthentifizierung und zur zertifikatbasierten Serverauthentifizierung konfiguriert wurde.

CreateCertificateOverTransportBindingElement()

Erstellt ein Sicherheitsbindungselement, das von Clients erwartet, eine zertifikatbasierte Authentifizierung mit SOAP-Nachrichtensicherheit durchzuführen.

CreateCertificateOverTransportBindingElement(MessageSecurityVersion)

Erstellt ein Sicherheitsbindungselement, das von Clients erwartet, eine zertifikatbasierte Authentifizierung mit SOAP-Nachrichtensicherheit durchzuführen.

CreateCertificateSignatureBindingElement()

Erstellt mit einem Zertifikat zum Signieren von Nachrichten ein Bindungselement. Dieses Bindungselement kann nur für den einseitigen Nachrichtenaustausch und nur zum Signieren der Nachricht verwendet werden.

CreateIssuedTokenBindingElement(IssuedSecurityTokenParameters)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass die Clientauthentifizierung mit einem ausgestellten Token auf der Grundlage eines symmetrischen Schlüssels erforderlich ist.

CreateIssuedTokenForCertificateBindingElement(IssuedSecurityTokenParameters)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine Clientauthentifizierung anhand eines ausgestellten Tokens und eine Serverauthentifizierung auf der Grundlange des Serverzertifikats erforderlich sind.

CreateIssuedTokenForSslBindingElement(IssuedSecurityTokenParameters)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine Clientauthentifizierung anhand eines ausgestellten Tokens und eine Serverauthentifizierung auf der Grundlange des Serverzertifikats erforderlich sind.

CreateIssuedTokenForSslBindingElement(IssuedSecurityTokenParameters, Boolean)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine Clientauthentifizierung anhand eines ausgestellten Tokens und eine Serverauthentifizierung auf der Grundlange des Serverzertifikats erforderlich sind.

CreateIssuedTokenOverTransportBindingElement(IssuedSecurityTokenParameters)

Erstellt ein Sicherheitsbindungselement, das so konfiguriert wurde, dass die SOAP-Sicherheit-basierte Clientauthentifizierung mit einem ausgestellten Token erforderlich ist. Dieses Bindungselement (z. B. https) erfordert vom Transport die Durchführung der Serverauthentifizierung sowie die Bereitstellung des Nachrichtenschutzes.

CreateKerberosBindingElement()

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass die Clientauthentifizierung auf der Grundlage des Kerberos-Tokens des Clients erforderlich ist.

CreateKerberosOverTransportBindingElement()

Erstellt ein Sicherheitsbindungselement, das so konfiguriert wurde, dass die SOAP-Sicherheit-basierte Clientauthentifizierung mit dem Kerberos-Token des Clients erforderlich ist. Dieses Bindungselement (z. B. https) erfordert vom Transport die Durchführung der Serverauthentifizierung sowie die Bereitstellung des Nachrichtenschutzes.

CreateMutualCertificateBindingElement()

Erstellt ein asymmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine zertifikatbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind.

CreateMutualCertificateBindingElement(MessageSecurityVersion)

Erstellt ein asymmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine zertifikatbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind.

CreateMutualCertificateBindingElement(MessageSecurityVersion, Boolean)

Erstellt ein asymmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine zertifikatbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind.

CreateMutualCertificateDuplexBindingElement()

Erstellt ein asymmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine zertifikatbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind. Dieser Authentifizierungsmodus kann zum Sichern von zweiseitigen Nachrichtenaustauschmustern verwendet werden. Dafür muss der Dienst mit einem Client-Zertifikat außerhalb des Bereichs konfiguriert werden.

CreateMutualCertificateDuplexBindingElement(MessageSecurityVersion)

Erstellt ein asymmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine zertifikatbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind. Dieser Authentifizierungsmodus kann zum Sichern von zweiseitigen Nachrichtenaustauschmustern verwendet werden. Dafür muss der Dienst mit einem Client-Zertifikat außerhalb des Bereichs konfiguriert werden.

CreateSecureConversationBindingElement(SecurityBindingElement)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine sichere Konversation zwischen dem Client und dem Dienst hergestellt werden kann. Das Sicherheitskontexttoken, das am Ende des Handshakes der sicheren Konversation ausgestellt wird, dient zum Sichern der Nachrichten. Das Bootstrap-Sicherheitsbindungselement gibt an, wie die Handshake-Nachrichten zur sicheren Konversation gesichert werden.

CreateSecureConversationBindingElement(SecurityBindingElement, Boolean)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine sichere Konversation zwischen dem Client und dem Dienst hergestellt werden kann. Das Sicherheitskontexttoken, das am Ende des Handshakes der sicheren Konversation ausgestellt wird, dient zum Sichern der Nachrichten.

CreateSecureConversationBindingElement(SecurityBindingElement, Boolean, ChannelProtectionRequirements)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine sichere Konversation zwischen dem Client und dem Dienst hergestellt werden kann. Das Sicherheitskontexttoken, das am Ende des Handshakes der sicheren Konversation ausgestellt wird, dient zum Sichern der Nachrichten. Das Bootstrap-Sicherheitsbindungselement gibt an, wie die Handshake-Nachrichten zur sicheren Konversation gesichert werden.

CreateSslNegotiationBindingElement(Boolean)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine SSL-Aushandlung auf SOAP-Ebene zwischen dem Client und dem Dienst durchgeführt wird, wobei angegeben wird, ob ein Clientzertifikat erforderlich ist.

CreateSslNegotiationBindingElement(Boolean, Boolean)

Erstellt ein symmetrisches Sicherheitsbindungselement, das die SOAP-SSL-Aushandlung durchführt, wobei angegeben wird, ob ein Clientzertifikat und ein Abbruch erforderlich sind.

CreateSspiNegotiationBindingElement()

Erstellt ein symmetrisches Sicherheitsbindungselement, das die SOAP-SSPI-Aushandlung auf Grundlage des Negotiate-Authentifizierungspakets durchführt.

CreateSspiNegotiationBindingElement(Boolean)

Erstellt ein symmetrisches Sicherheitsbindungselement, das die SOAP-SSPI-Aushandlung auf Grundlage des Negotiate-Authentifizierungspakets durchführt.

CreateSspiNegotiationOverTransportBindingElement()

Erstellt ein Sicherheitsbindungselement, das für die Clientauthentifizierung auf der Grundlage der SOAP-SSPI-Aushandlung mit dem Negotiate-Authentifizierungspaket konfiguriert ist. Das Bindungselement (z. B. https) erfordert vom Transport die Durchführung der Serverauthentifizierung sowie die Bereitstellung des Nachrichtenschutzes.

CreateSspiNegotiationOverTransportBindingElement(Boolean)

Erstellt ein Sicherheitsbindungselement, das für die Clientauthentifizierung auf der Grundlage der SOAP-SSPI-Aushandlung mit dem Negotiate-Authentifizierungspaket konfiguriert ist. Das Bindungselement (z. B. https) erfordert vom Transport die Durchführung der Serverauthentifizierung sowie die Bereitstellung des Nachrichtenschutzes.

CreateUserNameForCertificateBindingElement()

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine benutzernamenbasierte und kennwortbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind. Das erstellte Bindungselement erfordert, dass der Client vor dem Öffnen eines Kommunikationskanals mit einem Dienst mit einem Dienstzertifikat, das außerhalb des Bereichs ist, konfiguriert wird.

CreateUserNameForSslBindingElement()

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine benutzernamenbasierte und kennwortbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind. Der Client authentifiziert den Server mit dem SSL-Protokoll auf SOAP-Ebene.

CreateUserNameForSslBindingElement(Boolean)

Erstellt ein symmetrisches Sicherheitsbindungselement, das so konfiguriert wurde, dass eine benutzernamenbasierte und kennwortbasierte Clientauthentifizierung und eine zertifikatbasierte Serverauthentifizierung erforderlich sind. Der Client authentifiziert den Server mit dem SSL-Protokoll auf SOAP-Ebene.

CreateUserNameOverTransportBindingElement()

Erstellt ein Sicherheitsbindungselement, das für die Clientauthentifizierung anhand eines Benutzernamens und eines Kennworts, die als Teil der SOAP-Nachricht gesendet werden, konfiguriert ist. Das Bindungselement (z. B. https) erfordert vom Transport die Durchführung der Serverauthentifizierung sowie die Bereitstellung des Nachrichtenschutzes.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

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

Ruft ein angegebenes Objekt mit dem angegebenen BindingContext ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SetIssuerBindingContextIfRequired(SecurityTokenParameters, BindingContext)

Legt den Schlüssel der Tokenanforderungs-Eigenschaft ab, deren Wert dem BindingContext entspricht, die für die Kommunikation mit dem Aussteller verwendet wird, wenn ein ausgestelltes Token angefordert wird.

SetKeyDerivation(Boolean)

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

ToString()

Gibt eine Beschreibung dieser Klasse zurück.

Gilt für:

Weitere Informationen