AsymmetricSecurityBindingElement Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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
Creare un oggetto BindingElementCollection.
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.
Aggiungere gli elementi creati nell'ordine suddetto a BindingElementCollection utilizzando il metodo InsertItem(Int32, BindingElement).
Creare un'istanza di AsymmetricSecurityBindingElement e aggiungerla alla raccolta.
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). |