AsymmetricSecurityBindingElement Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein benutzerdefiniertes Bindungselement dar, das die Kanalsicherheit mit asymmetrischer Verschlüsselung unterstützt. Dieses Bindungselement signiert die Nachricht mit dem Authentifizierungstoken des Absenders und verschlüsselt die Nachricht mit dem Token des Empfängers.
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
- Implementiert
Beispiele
Das folgende Beispiel zeigt, wie Sie diese Klasse verwenden können, um eine benutzerdefinierte Bindung zu erstellen, die diese Klasse als ein Sicherheitsbindungselement enthält. Weitere Informationen zum Code in diesem Beispiel finden Sie unter Vorgehensweise: Konsistenter Verweis auf X.509-Zertifikate.
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 das erste Element des Bindungsstapels darstellt, wird zuerst hinzugefügt, das darauf folgende Element wird als zweites hinzugefügt usw.
So fügen Sie diese Klasse einer Bindung hinzu
Erstellen Sie eine BindingElementCollection.
Erstellen Sie benutzerdefinierte Bindungselemente, die sich im Bindungsstapel über diesem Bindungselement befinden, wie zum Beispiel das optionale TransactionFlowBindingElement und ReliableSessionBindingElement.
Fügen Sie die erstellten Elemente in der oben angegebenen Reihenfolge zur BindingElementCollection hinzu, indem Sie die InsertItem(Int32, BindingElement)-Methode verwenden.
Erstellen Sie eine Instanz von AsymmetricSecurityBindingElement, und fügen Sie sie zur Auflistung hinzu.
Fügen Sie weitere benutzerdefinierte Bindungselemente zur Auflistung hinzu, wie zum Beispiel TcpTransportBindingElement.
Vor dem Verwenden dieser Klasse sollten Sie feststellen, ob eine Standardbindung die Sicherheitsanforderungen erfüllt.
Hinweis
Nachdem eine Instanz dieses Objekts erstellt wurde, sollten die Eigenschaften ihres Basisklasse-SecurityBindingElement als unveränderlich behandelt werden. Das Aufrufen von „set“ für einige Eigenschaften kann unvorhergesehene Auswirkungen nach sich ziehen: 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, auf die dieses zutrifft.
Konstruktoren
AsymmetricSecurityBindingElement() |
Erstellt eine Instanz dieser Klasse. |
AsymmetricSecurityBindingElement(SecurityTokenParameters) |
Initialisiert eine neue Instanz von AsymmetricSecurityBindingElement mit den angegebenen Empfängertokenparametern. |
AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) |
Initialisiert eine neue Instanz von AsymmetricSecurityBindingElement mit den angegebenen Empfänger- und Initiatortokenparametern. |
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. (Geerbt von SecurityBindingElement) |
AllowSerializedSigningTokenOnReply |
Ruft einen Wert ab, der angibt, ob die Serialisierung eines Signiertokens für eine Antwort zulässig ist, oder legt diesen fest. |
DefaultAlgorithmSuite |
Ruft die Nachrichtenverschlüsselungs- und Key Wrap-Algorithmen ab oder legt sie fest. (Geerbt von SecurityBindingElement) |
EnableUnsecuredResponse |
Ruft einen Wert ab, der angibt, ob WCF senden kann und ungesicherte Antworten auf gesicherte Anforderungen empfangen, oder legt ihn fest. (Geerbt von SecurityBindingElement) |
EndpointSupportingTokenParameters |
Ruft den Endpunkt ab, der Tokenparameter unterstützt. (Geerbt von SecurityBindingElement) |
IncludeTimestamp |
Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob jede Nachricht einen Zeitstempel enthält. (Geerbt von SecurityBindingElement) |
InitiatorTokenParameters |
Gibt die Tokendefinition für den Initiator an. |
KeyEntropyMode |
Ruft die Entropiequelle zum Erstellen von Schlüsseln ab oder legt diese fest. (Geerbt von SecurityBindingElement) |
LocalClientSettings |
Ruft die für lokale Sicherheitseinstellungen, die vom Client verwendet werden, spezifischen Bindungseigenschaften ab. (Geerbt von SecurityBindingElement) |
LocalServiceSettings |
Ruft die für lokale Sicherheitseinstellungen, die vom Dienst verwendet werden, spezifischen Bindungseigenschaften ab. (Geerbt von SecurityBindingElement) |
MessageProtectionOrder |
Ruft die Reihenfolge der Nachrichtenverschlüsselung und der Signierung für diese Bindung ab, oder legt diese fest. |
MessageSecurityVersion |
Ruft die Nachrichtensicherheitsversion ab oder legt sie fest. (Geerbt von SecurityBindingElement) |
OperationSupportingTokenParameters |
Ruft die Auflistung von Vorgängen ab, die Tokenparameter unterstützen. (Geerbt von SecurityBindingElement) |
OptionalEndpointSupportingTokenParameters |
Ruft die optionalen unterstützenden Tokenparameter für den Dienstendpunkt ab. (Geerbt von SecurityBindingElement) |
OptionalOperationSupportingTokenParameters |
Ruft die Auflistung von optionalen Vorgängen ab, die Tokenparameter unterstützen. (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 |
Ruft einen Wert ab, der angibt, ob Nachrichtensignaturen bestätigt werden müssen, oder legt diesen fest. |
SecurityHeaderLayout |
Ruft die Reihenfolge der Elemente im Sicherheitsheader für diese Bindung ab oder legt diese fest. (Geerbt von SecurityBindingElement) |
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). (Geerbt von SecurityBindingElement) |
BuildChannelFactoryCore<TChannel>(BindingContext) |
Erstellt nach Implementierung eine Kanalfactory eines angegebenen Typs. (Geerbt von SecurityBindingElement) |
BuildChannelListener<TChannel>(BindingContext) |
Erstellt anhand der SecurityBindingElement-Einstellungen und dem übergebenen Bindungskontext einen Kanallistener. (Geerbt von SecurityBindingElement) |
BuildChannelListenerCore<TChannel>(BindingContext) |
Erstellt bei 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 der Klasse, die aus der aktuellen initialisiert wurde. |
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 aus dem BindingContext ab. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des 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
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exportiert eine benutzerdefinierte Bindungsrichtlinienassertion, die in die Web Services Description Language (WSDL)-Informationen eingefügt wird. |