Share via


AsymmetricSecurityBindingElement Classe

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. 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
AsymmetricSecurityBindingElement
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

  1. Créez un 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.

  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).

  4. Créez une instance de AsymmetricSecurityBindingElement et ajoutez-la à la collection.

  5. 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).

S’applique à