AsymmetricSecurityBindingElement Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un élément de liaison personnalisé qui prend en charge la sécurité de canal à l'aide du chiffrement asymétrique. Cet élément de liaison signe le message à l’aide du jeton d’authentification de l’expéditeur et chiffre le message à l’aide du jeton du destinataire.
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
- Héritage
- Implémente
Exemples
L’exemple suivant indique comment utiliser cette classe pour créer une liaison personnalisée qui inclut cette classe comme un élément de liaison de sécurité. Pour plus d’informations sur le code de cet exemple, consultez 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
Remarques
Une liaison personnalisée contient une collection d'éléments de liaison organisés dans un ordre spécifique : l'élément qui représente le haut de la pile de liaisons est ajouté en premier, l'élément suivant dans la pile de liaisons est ajouté en deuxième position, etc.
Pour ajouter cette classe à une liaison
Créez un BindingElementCollection.
Créez des éléments de liaison personnalisés placés au-dessus de cet élément de liaison dans la pile de liaisons, par exemple les TransactionFlowBindingElement et ReliableSessionBindingElement facultatifs.
Ajoutez à BindingElementCollection les éléments créés dans l'ordre décrit précédemment, à l'aide de la méthode InsertItem(Int32, BindingElement).
Créez une instance de AsymmetricSecurityBindingElement et ajoutez-la à la collection.
Ajoutez tout élément de liaison personnalisé supplémentaire à la collection, tel que TcpTransportBindingElement.
Avant d’utiliser cette classe, vous devez déterminer si une liaison standard satisfait vos exigences de sécurité.
Notes
Une fois qu'une instance de cet objet a été créée, vous devez traiter les propriétés de sa classe de base SecurityBindingElement comme immuables. L’appel à Set sur certaines propriétés peut entraîner des résultats imprévisibles : la liaison risque de considérer la propriété à sa valeur antérieure, avec pour seule indication un échec d’exécution. KeyType et MessageSecurityVersion sont deux propriétés connues pour se comporter ainsi. Ce principe peut s'appliquer à d'autres propriétés.
Constructeurs
AsymmetricSecurityBindingElement() |
Crée une instance de cette classe. |
AsymmetricSecurityBindingElement(SecurityTokenParameters) |
Initialise une nouvelle instance de AsymmetricSecurityBindingElement avec les paramètres de jeton de destinataire spécifiés. |
AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) |
Initialise une nouvelle instance de AsymmetricSecurityBindingElement avec les paramètres de jeton de destinataire et d'initiateur spécifiés. |
Propriétés
AllowInsecureTransport |
Obtient ou définit une valeur qui indique s'il est possible d'envoyer des messages sécurisés en mode mixte via un transport non sécurisé tel que le protocole HTTP. (Hérité de SecurityBindingElement) |
AllowSerializedSigningTokenOnReply |
Obtient ou définit une valeur qui indique si la sérialisation d'un jeton de signature dans un message de réponse est permise. |
DefaultAlgorithmSuite |
Obtient ou définit les algorithmes de chiffrement de message et de clé de type WRAP. (Hérité de SecurityBindingElement) |
EnableUnsecuredResponse |
Obtient ou définit une valeur qui indique si WCF peut envoyer et recevoir des réponses non sécurisées aux demandes sécurisées. (Hérité de SecurityBindingElement) |
EndpointSupportingTokenParameters |
Obtient le point de terminaison qui prend en charge des paramètres de jeton. (Hérité de SecurityBindingElement) |
IncludeTimestamp |
Obtient ou définit une valeur qui indique si l'horodatage est inclus dans chaque message. (Hérité de SecurityBindingElement) |
InitiatorTokenParameters |
Spécifie la définition de jeton pour l'initiateur. |
KeyEntropyMode |
Obtient ou définit la source d'entropie utilisée pour créer des clés. (Hérité de SecurityBindingElement) |
LocalClientSettings |
Obtient les propriétés de liaison spécifiques aux paramètres de sécurité locaux utilisés par le client. (Hérité de SecurityBindingElement) |
LocalServiceSettings |
Obtient les propriétés de liaison spécifiques aux paramètres de sécurité locaux utilisés par le service. (Hérité de SecurityBindingElement) |
MessageProtectionOrder |
Obtient ou définit l'ordre de chiffrement et de signature des messages pour cette liaison. |
MessageSecurityVersion |
Obtient ou définit la version de sécurité du message. (Hérité de SecurityBindingElement) |
OperationSupportingTokenParameters |
Obtient la collection des paramètres du jeton de prise en charge de l’opération. (Hérité de SecurityBindingElement) |
OptionalEndpointSupportingTokenParameters |
Obtient les paramètres de jeton de prise en charge facultatifs pour le point de terminaison du service. (Hérité de SecurityBindingElement) |
OptionalOperationSupportingTokenParameters |
Obtient la collection des paramètres optionnels du jeton de prise en charge de l'opération. (Hérité de SecurityBindingElement) |
ProtectTokens |
Obtient ou définit une valeur indiquant si l'élément de liaison de sécurité protège les jetons. (Hérité de SecurityBindingElement) |
RecipientTokenParameters |
Spécifie la définition de jeton pour le destinataire. |
RequireSignatureConfirmation |
Obtient ou définit une valeur qui indique si les signatures des messages doivent être confirmées. |
SecurityHeaderLayout |
Obtient ou définit l'ordre des éléments dans l'en-tête de sécurité de cette liaison. (Hérité de SecurityBindingElement) |
Méthodes
BuildChannelFactory<TChannel>(BindingContext) |
Crée une fabrique de canal basée sur les paramètres SecurityBindingElement et le contexte de liaison transmis. La fabrication de canal créée est une fabrication de canal de sécurité de messages SOAP, qui comprend en interne une référence à la fabrication de canal correspondant au contexte de liaison (lequel inclut la fabrication du canal de transport). (Hérité de SecurityBindingElement) |
BuildChannelFactoryCore<TChannel>(BindingContext) |
En cas d'implémentation, crée une fabrication de canal d'un type spécifié. (Hérité de SecurityBindingElement) |
BuildChannelListener<TChannel>(BindingContext) |
Crée un écouteur de canal basé sur les paramètres SecurityBindingElement et le contexte de liaison transmis. (Hérité de SecurityBindingElement) |
BuildChannelListenerCore<TChannel>(BindingContext) |
En cas d'implémentation, crée un écouteur de canal d'un type spécifié. (Hérité de SecurityBindingElement) |
CanBuildChannelFactory<TChannel>(BindingContext) |
Détermine si une fabrication de canal du type spécifié peut être construite. (Hérité de SecurityBindingElement) |
CanBuildChannelListener<TChannel>(BindingContext) |
Détermine si un écouteur de canal du type spécifié peut être construit. (Hérité de SecurityBindingElement) |
Clone() |
Crée une nouvelle instance de cette classe initialisée à partir de l'instance active. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetProperty<T>(BindingContext) |
Obtient un objet spécifié à partir de BindingContext. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
SetKeyDerivation(Boolean) |
Définit une valeur qui indique si les clés dérivées sont requises. |
ToString() |
Retourne une chaîne qui représente cette instance AsymmetricSecurityBindingElement. |
Implémentations d’interfaces explicites
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exporte une assertion de stratégie personnalisée concernant des liaisons, qui est ajoutée aux informations WSDL (Web Services Description Language). |