Condividi tramite


AsymmetricSecurityBindingElement Classe

Definizione

Rappresenta un elemento di associazione personalizzato che supporta la sicurezza del canale tramite la crittografia asimmetrica. Questo elemento di associazione firma il messaggio usando il token di autenticazione del mittente e crittografa il messaggio usando 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 illustrato come usare questa classe per creare un'associazione personalizzata che include questa classe come elemento di associazione di sicurezza. Per altre informazioni sul codice in questo esempio, vedere Procedura: Riferimenti coerenti 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 la parte superiore dello stack di binding viene aggiunto per primo, l'elemento successivo nello stack di binding viene aggiunto secondo e così via.

Per aggiungere questa classe a un'associazione

  1. Creare un oggetto BindingElementCollection.

  2. Creare elementi di associazione personalizzati sopra questo elemento di associazione nello stack di binding, ad esempio facoltativo TransactionFlowBindingElement e ReliableSessionBindingElement.

  3. Aggiungere gli elementi creati nell'ordine precedente all'oggetto BindingElementCollection utilizzando il InsertItem(Int32, BindingElement) metodo .

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

  5. Aggiungere altri elementi di associazione personalizzati alla raccolta, ad esempio TcpTransportBindingElement.

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

Annotazioni

Dopo aver creato un'istanza di questo oggetto, è necessario considerare le proprietà della relativa classe SecurityBindingElement di base come non modificabili. La chiamata a impostata su alcune proprietà può avere effetti imprevedibili: l'associazione può comportarsi come se la proprietà conservasse il valore precedente, con un errore di runtime che rappresenta l'unica indicazione di un problema. Due proprietà note per comportarsi in questo modo sono KeyType e MessageSecurityVersion. Ci possono essere altre proprietà di questo vale per.

Costruttori

Nome Descrizione
AsymmetricSecurityBindingElement()

Crea un'istanza di questa classe.

AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters)

Inizializza una nuova istanza di AsymmetricSecurityBindingElement con i parametri del destinatario e dell'iniziatore specificati.

AsymmetricSecurityBindingElement(SecurityTokenParameters)

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

Proprietà

Nome Descrizione
AllowInsecureTransport

Ottiene o imposta un valore che indica se i messaggi protetti in modalità mista possono essere inviati tramite un trasporto non protetto, ad esempio 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 wrapping della chiave.

(Ereditato da SecurityBindingElement)
EnableUnsecuredResponse

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

(Ereditato da SecurityBindingElement)
EndpointSupportingTokenParameters

Ottiene l'endpoint che supporta i parametri del token.

(Ereditato da SecurityBindingElement)
IncludeTimestamp

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

(Ereditato da SecurityBindingElement)
InitiatorTokenParameters

Specifica la definizione del token per l'iniziatore.

KeyEntropyMode

Ottiene o imposta l'origine dell'entropia utilizzata per creare 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 di sicurezza del messaggio.

(Ereditato da SecurityBindingElement)
OperationSupportingTokenParameters

Ottiene la raccolta di parametri del token di supporto dell'operazione.

(Ereditato da SecurityBindingElement)
OptionalEndpointSupportingTokenParameters

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

(Ereditato da SecurityBindingElement)
OptionalOperationSupportingTokenParameters

Ottiene la raccolta di parametri del token di supporto dell'operazione facoltativa.

(Ereditato da SecurityBindingElement)
ProtectTokens

Ottiene o imposta un valore che indica 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 dei messaggi devono essere confermate.

SecurityHeaderLayout

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

(Ereditato da SecurityBindingElement)

Metodi

Nome Descrizione
BuildChannelFactory<TChannel>(BindingContext)

Crea una channel factory in base alle SecurityBindingElement impostazioni e al contesto di associazione passato. La channel factory creata è una channel factory di sicurezza dei messaggi SOAP, che ha internamente un riferimento alla channel factory che corrisponde al contesto di associazione, che include la channel factory di trasporto.

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

In caso di implementazione, crea una channel factory di un tipo specificato.

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

Crea un listener del canale in base alle SecurityBindingElement impostazioni e al contesto di associazione passato.

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

In caso di implementazione, 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 di 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 dall'oggetto BindingContext.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
SetKeyDerivation(Boolean)

Imposta un valore che indica se sono necessarie chiavi derivate.

ToString()

Restituisce una stringa che rappresenta questa AsymmetricSecurityBindingElement istanza.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
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