AsymmetricSecurityBindingElement Classe

Definizione

Rappresenta un elemento di associazione personalizzato che supporta la sicurezza del canale mediante crittografia asimmetrica. Questo elemento di associazione firma il messaggio utilizzando il token di autenticazione del mittente ed esegue la crittografia del messaggio utilizzando il token del destinatario.

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
Ereditarietà
AsymmetricSecurityBindingElement
Implementazioni

Esempio

Nell'esempio seguente viene mostrato come utilizzare questa classe per creare un'associazione personalizzata che include la classe come un elemento di associazione di sicurezza. Per altre informazioni sul codice in questo esempio, vedere Procedura: Fare riferimento coerentemente ai certificati X.509.

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

Commenti

Un'associazione personalizzata contiene una raccolta di elementi di associazione disposti in un ordine specifico: l'elemento che rappresenta l'inizio dello stack dell'associazione viene aggiunto per primo, l'elemento immediatamente successivo viene aggiunto per secondo e così via.

Per aggiungere questa classe a un'associazione

  1. Creare un oggetto BindingElementCollection.

  2. Creare elementi di associazione personalizzati che si trovino prima di questo elemento di associazione nello stack dell'associazione, ad esempio gli elementi facoltativi TransactionFlowBindingElement e ReliableSessionBindingElement.

  3. Aggiungere gli elementi creati nell'ordine suddetto a BindingElementCollection utilizzando il metodo InsertItem(Int32, BindingElement).

  4. Creare un'istanza di AsymmetricSecurityBindingElement e aggiungerla alla raccolta.

  5. Aggiungere alla raccolta qualsiasi elemento di associazione personalizzato aggiuntivo, ad esempio TcpTransportBindingElement.

Prima di utilizzare questa classe, è necessario determinare se un'associazione standard soddisfa i requisiti di sicurezza.

Nota

Dopo che è stata creata un'istanza di questo oggetto, è necessario trattare le proprietà della relativa classe di base SecurityBindingElement come proprietà non modificabili. La chiamata impostata su alcune proprietà può produrre effetti imprevedibili: l'associazione potrebbe comportarsi come se la proprietà conservasse il valore precedente, nel qual caso l'unica indicazione del problema sarebbe un errore di runtime. Due proprietà che hanno in genere questo comportamento sono KeyType e MessageSecurityVersion. È comunque possibile che altre proprietà abbiano lo stesso comportamento.

Costruttori

AsymmetricSecurityBindingElement()

Crea un'istanza di questa classe.

AsymmetricSecurityBindingElement(SecurityTokenParameters)

Inizializza una nuova istanza della classe AsymmetricSecurityBindingElement con i parametri del token del destinatario specificati.

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

Inizializza una nuova istanza della classe AsymmetricSecurityBindingElement con i parametri dei token del destinatario e dell'iniziatore specificati.

Proprietà

AllowInsecureTransport

Ottiene o imposta un valore che indica se messaggi protetti in modalità mista possono essere inviati tramite un trasporto non sicuro quale HTTP.

(Ereditato da SecurityBindingElement)
AllowSerializedSigningTokenOnReply

Ottiene o imposta un valore che indica se è consentita la serializzazione di un token di firma in un messaggio di risposta.

DefaultAlgorithmSuite

Ottiene o imposta la crittografia dei messaggi e gli algoritmi di incapsulamento della chiave.

(Ereditato da SecurityBindingElement)
EnableUnsecuredResponse

Ottiene o imposta un valore che indica se WCF può inviare e ricevere risposte non sicure alle richieste sicure.

(Ereditato da SecurityBindingElement)
EndpointSupportingTokenParameters

Ottiene l'endpoint che supporta parametri token.

(Ereditato da SecurityBindingElement)
IncludeTimestamp

Ottiene o imposta un valore che indica se in ogni messaggio vengono inclusi timestamp.

(Ereditato da SecurityBindingElement)
InitiatorTokenParameters

Specifica la definizione del token per l'iniziatore.

KeyEntropyMode

Ottiene o imposta l'origine di entropia utilizzata per creare le chiavi.

(Ereditato da SecurityBindingElement)
LocalClientSettings

Ottiene le proprietà di associazione specifiche delle impostazioni di sicurezza locali utilizzate dal client.

(Ereditato da SecurityBindingElement)
LocalServiceSettings

Ottiene le proprietà di associazione specifiche delle impostazioni di sicurezza locali utilizzate dal servizio.

(Ereditato da SecurityBindingElement)
MessageProtectionOrder

Ottiene o imposta l'ordine di crittografia e firma dei messaggi per questa associazione.

MessageSecurityVersion

Ottiene o imposta la versione della sicurezza del messaggio.

(Ereditato da SecurityBindingElement)
OperationSupportingTokenParameters

Ottiene la raccolta di parametri dei token di supporto di operazione.

(Ereditato da SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

Ottiene i parametri dei token di supporto facoltativi per l'endpoint del servizio.

(Ereditato da SecurityBindingElement)
OptionalOperationSupportingTokenParameters

Ottiene la raccolta di parametri dei token di supporto di operazione facoltativi.

(Ereditato da SecurityBindingElement)
ProtectTokens

Ottiene o imposta se l’elemento di associazione di sicurezza protegge i token.

(Ereditato da SecurityBindingElement)
RecipientTokenParameters

Specifica la definizione del token per il destinatario.

RequireSignatureConfirmation

Ottiene o imposta un valore che indica se le firme del messaggio devono essere confermate.

SecurityHeaderLayout

Ottiene o imposta l'ordine degli elementi nell'intestazione di sicurezza per questa associazione.

(Ereditato da SecurityBindingElement)

Metodi

BuildChannelFactory<TChannel>(BindingContext)

Crea una channel factory basata sulle impostazioni SecurityBindingElement e sul contesto di associazione passati. La channel factory creata è una channel factory di sicurezza dei messaggi SOAP che ha un riferimento interno alla channel factory corrispondente al contesto dell'associazione (che include la channel factory del trasporto).

(Ereditato da SecurityBindingElement)
BuildChannelFactoryCore<TChannel>(BindingContext)

Quando implementato, crea una channel factory di un tipo specificato.

(Ereditato da SecurityBindingElement)
BuildChannelListener<TChannel>(BindingContext)

Crea un listener del canale basato sulle impostazioni SecurityBindingElement e sul contesto di associazione passati.

(Ereditato da SecurityBindingElement)
BuildChannelListenerCore<TChannel>(BindingContext)

Quando implementato, crea un listener del canale di un tipo specificato.

(Ereditato da SecurityBindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Determina se è possibile compilare una channel factory del tipo specificato.

(Ereditato da SecurityBindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

Determina se è possibile compilare un listener del canale del tipo specificato.

(Ereditato da SecurityBindingElement)
Clone()

Crea una nuova istanza di questa classe inizializzata da quella corrente.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperty<T>(BindingContext)

Ottiene un oggetto specificato da BindingContext.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SetKeyDerivation(Boolean)

Imposta un valore che indica se sono necessarie chiavi derivate.

ToString()

Restituisce una stringa che rappresenta l'istanza AsymmetricSecurityBindingElement corrente.

Implementazioni dell'interfaccia esplicita

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Esporta un'asserzione di criteri personalizzata sulle associazioni, che viene aggiunta alle informazioni WSDL (Web Services Description Language).

Si applica a