AsymmetricSecurityBindingElement AsymmetricSecurityBindingElement AsymmetricSecurityBindingElement AsymmetricSecurityBindingElement Class

Définition

Représente un élément de liaison personnalisé qui prend en charge la sécurité de canal à l'aide du chiffrement asymétrique.Represents a custom binding element that supports channel security using asymmetric encryption. 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.This binding element signs the message using the sender's authentication token and encrypts the message using the recipient's token.

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
AsymmetricSecurityBindingElementAsymmetricSecurityBindingElementAsymmetricSecurityBindingElementAsymmetricSecurityBindingElement
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é.The following example shows how to use this class to create a custom binding that includes this class as a security binding element. Pour plus d’informations sur le code de cet exemple, consultez Procédure: Référencez les certificatsX. 509 de manière cohérente.For more information about the code in this example, see 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.A custom binding contains a collection of binding elements arranged in a specific order: the element that represents the top of the binding stack is added first, the next element down in the binding stack, is added second, and so forth.

Pour ajouter cette classe à une liaisonTo add this class to a binding

  1. Créer un BindingElementCollection.Create a BindingElementCollection.

  2. 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.Create custom binding elements that is above this binding element in the binding stack, such as the optional TransactionFlowBindingElement and ReliableSessionBindingElement.

  3. Ajoutez à BindingElementCollection les éléments créés dans l'ordre décrit précédemment, à l'aide de la méthode InsertItem(Int32, BindingElement).Add the created elements in the preceding order to the BindingElementCollection using the InsertItem(Int32, BindingElement) method.

  4. Créez une instance de AsymmetricSecurityBindingElement et ajoutez-la à la collection.Create an instance of AsymmetricSecurityBindingElement and add it to the collection.

  5. Ajoutez tout élément de liaison personnalisé supplémentaire à la collection, tel que TcpTransportBindingElement.Add any additional custom binding elements to the collection, such as TcpTransportBindingElement.

Avant d’utiliser cette classe, vous devez déterminer si une liaison standard satisfait vos exigences de sécurité.Before using this class, you should determine if a standard binding meets your security requirements.

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.Once an instance of this object is created, you should treat the properties of its base class SecurityBindingElement as immutable. 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.Calling set on some properties may have unpredictable effects: the binding may behave as if the property retained its old value, with a run-time failure being the only indication of an issue. KeyType et MessageSecurityVersion sont deux propriétés connues pour se comporter ainsi.Two properties known to behave this way are KeyType and MessageSecurityVersion. Ce principe peut s'appliquer à d'autres propriétés.There may be other properties this is true of.

Constructeurs

AsymmetricSecurityBindingElement() AsymmetricSecurityBindingElement() AsymmetricSecurityBindingElement() AsymmetricSecurityBindingElement()

Crée une instance de cette classe.Creates an instance of this class.

AsymmetricSecurityBindingElement(SecurityTokenParameters) AsymmetricSecurityBindingElement(SecurityTokenParameters) AsymmetricSecurityBindingElement(SecurityTokenParameters) AsymmetricSecurityBindingElement(SecurityTokenParameters)

Initialise une nouvelle instance de AsymmetricSecurityBindingElement avec les paramètres de jeton de destinataire spécifiés.Initializes a new instance of AsymmetricSecurityBindingElement with the specified recipient token parameters.

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

Initialise une nouvelle instance de AsymmetricSecurityBindingElement avec les paramètres de jeton de destinataire et d'initiateur spécifiés.Initializes a new instance of AsymmetricSecurityBindingElement with the specified recipient and initiator token parameters.

Propriétés

AllowInsecureTransport AllowInsecureTransport AllowInsecureTransport 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.Gets or sets a value that indicates whether mixed-mode secured messages can be sent over an unsecured transport such as HTTP.

(Inherited from SecurityBindingElement)
AllowSerializedSigningTokenOnReply AllowSerializedSigningTokenOnReply AllowSerializedSigningTokenOnReply 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.Gets or sets a value that indicates whether serializing a signing token on a reply message is allowed.

DefaultAlgorithmSuite DefaultAlgorithmSuite DefaultAlgorithmSuite DefaultAlgorithmSuite

Obtient ou définit les algorithmes de chiffrement de message et de clé de type WRAP.Gets or sets the message encryption and key-wrap algorithms.

(Inherited from SecurityBindingElement)
EnableUnsecuredResponse EnableUnsecuredResponse EnableUnsecuredResponse 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.Gets or sets a value that indicates whether WCF can send and receive unsecured responses to secured requests.

(Inherited from SecurityBindingElement)
EndpointSupportingTokenParameters EndpointSupportingTokenParameters EndpointSupportingTokenParameters EndpointSupportingTokenParameters

Obtient le point de terminaison qui prend en charge des paramètres de jeton.Gets the endpoint that supports token parameters.

(Inherited from SecurityBindingElement)
IncludeTimestamp IncludeTimestamp IncludeTimestamp IncludeTimestamp

Obtient ou définit une valeur qui indique si l'horodatage est inclus dans chaque message.Gets or sets a value that indicates whether time stamps are included in each message.

(Inherited from SecurityBindingElement)
InitiatorTokenParameters InitiatorTokenParameters InitiatorTokenParameters InitiatorTokenParameters

Spécifie la définition de jeton pour l'initiateur.Specifies the token definition for the initiator.

KeyEntropyMode KeyEntropyMode KeyEntropyMode KeyEntropyMode

Obtient ou définit la source d'entropie utilisée pour créer des clés.Gets or sets the source of entropy used to create keys.

(Inherited from SecurityBindingElement)
LocalClientSettings LocalClientSettings LocalClientSettings LocalClientSettings

Obtient les propriétés de liaison spécifiques aux paramètres de sécurité locaux utilisés par le client.Gets the binding properties specific to local security settings used by the client.

(Inherited from SecurityBindingElement)
LocalServiceSettings LocalServiceSettings LocalServiceSettings LocalServiceSettings

Obtient les propriétés de liaison spécifiques aux paramètres de sécurité locaux utilisés par le service.Gets the binding properties specific to local security settings used by the service.

(Inherited from SecurityBindingElement)
MessageProtectionOrder MessageProtectionOrder MessageProtectionOrder MessageProtectionOrder

Obtient ou définit l’ordre de chiffrement et de signature des messages pour cette liaison.Gets or sets the order of message encryption and signing for this binding.

MessageSecurityVersion MessageSecurityVersion MessageSecurityVersion MessageSecurityVersion

Obtient ou définit la version de sécurité du message.Gets or sets the message security version.

(Inherited from SecurityBindingElement)
OperationSupportingTokenParameters OperationSupportingTokenParameters OperationSupportingTokenParameters OperationSupportingTokenParameters

Obtient la collection des paramètres du jeton de prise en charge de l'opération.Gets the collection of operation supporting token parameters.

(Inherited from SecurityBindingElement)
OptionalEndpointSupportingTokenParameters OptionalEndpointSupportingTokenParameters OptionalEndpointSupportingTokenParameters OptionalEndpointSupportingTokenParameters

Obtient les paramètres de jeton de prise en charge facultatifs pour le point de terminaison du service.Gets the optional supporting token parameters for the service endpoint.

(Inherited from SecurityBindingElement)
OptionalOperationSupportingTokenParameters OptionalOperationSupportingTokenParameters OptionalOperationSupportingTokenParameters OptionalOperationSupportingTokenParameters

Obtient la collection des paramètres optionnels du jeton de prise en charge de l'opération.Gets the collection of optional operation supporting token parameters.

(Inherited from SecurityBindingElement)
ProtectTokens ProtectTokens ProtectTokens ProtectTokens

Obtient ou définit une valeur indiquant si l'élément de liaison de sécurité protège les jetons.Gets or sets whether the security binding element protects tokens.

(Inherited from SecurityBindingElement)
RecipientTokenParameters RecipientTokenParameters RecipientTokenParameters RecipientTokenParameters

Spécifie la définition de jeton pour le destinataire.Specifies the token definition for the recipient.

RequireSignatureConfirmation RequireSignatureConfirmation RequireSignatureConfirmation RequireSignatureConfirmation

Obtient ou définit une valeur qui indique si les signatures des messages doivent être confirmées.Gets or sets a value that indicates whether message signatures must be confirmed.

SecurityHeaderLayout SecurityHeaderLayout SecurityHeaderLayout SecurityHeaderLayout

Obtient ou définit l'ordre des éléments dans l'en-tête de sécurité de cette liaison.Gets or sets the ordering of the elements in the security header for this binding.

(Inherited from SecurityBindingElement)

Méthodes

BuildChannelFactory<TChannel>(BindingContext) BuildChannelFactory<TChannel>(BindingContext) BuildChannelFactory<TChannel>(BindingContext) BuildChannelFactory<TChannel>(BindingContext)

Crée une fabrique de canal basée sur les paramètres SecurityBindingElement et le contexte de liaison transmis.Creates a channel factory based on the SecurityBindingElement settings and the binding context passed in. 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).The channel factory created is a SOAP message security channel factory, which internally has a reference to the channel factory that corresponds to the binding context, (which includes the transport channel factory).

(Inherited from SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext) BuildChannelFactoryCore<TChannel>(BindingContext) BuildChannelFactoryCore<TChannel>(BindingContext) BuildChannelFactoryCore<TChannel>(BindingContext)

En cas d'implémentation, crée une fabrique de canaux d'un type spécifié.When implemented, creates a channel factory of a specified type.

(Inherited from SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext) BuildChannelListener<TChannel>(BindingContext) BuildChannelListener<TChannel>(BindingContext) BuildChannelListener<TChannel>(BindingContext)

Crée un écouteur de canal basé sur les paramètres SecurityBindingElement et le contexte de liaison transmis.Creates a channel listener based on the SecurityBindingElement settings and the binding context passed in.

(Inherited from SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext) BuildChannelListenerCore<TChannel>(BindingContext) BuildChannelListenerCore<TChannel>(BindingContext) BuildChannelListenerCore<TChannel>(BindingContext)

En cas d'implémentation, crée un écouteur de canal d'un type spécifié.When implemented, creates a channel listener of a specified type.

(Inherited from SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext) CanBuildChannelFactory<TChannel>(BindingContext) CanBuildChannelFactory<TChannel>(BindingContext) CanBuildChannelFactory<TChannel>(BindingContext)

Détermine si une fabrication de canal du type spécifié peut être construite.Determines whether a channel factory of the specified type can be built.

(Inherited from SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext) CanBuildChannelListener<TChannel>(BindingContext) CanBuildChannelListener<TChannel>(BindingContext) CanBuildChannelListener<TChannel>(BindingContext)

Détermine si un écouteur de canal du type spécifié peut être construit.Determines whether a channel listener of the specified type can be built.

(Inherited from SecurityBindingElement)
Clone() Clone() Clone() Clone()

Crée une nouvelle instance de cette classe initialisée à partir de l'instance active.Creates a new instance of this class initialized from the current one.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetProperty<T>(BindingContext) GetProperty<T>(BindingContext) GetProperty<T>(BindingContext) GetProperty<T>(BindingContext)

Obtient un objet spécifié à partir de l'objet BindingContext.Gets a specified object from the BindingContext.

GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
SetKeyDerivation(Boolean) SetKeyDerivation(Boolean) SetKeyDerivation(Boolean) SetKeyDerivation(Boolean)

Définit une valeur qui indique si les clés dérivées sont requises.Sets a value that indicates whether derived keys are required.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente cette instance AsymmetricSecurityBindingElement.Returns a string that represents this AsymmetricSecurityBindingElement instance.

Implémentations d’interfaces explicites

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) 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).Exports a custom policy assertion about bindings, which is added to the Web Services Description Language (WSDL) information.

S’applique à