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 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à
- 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
Creare un oggetto BindingElementCollection.
Creare elementi di associazione personalizzati sopra questo elemento di associazione nello stack di binding, ad esempio facoltativo TransactionFlowBindingElement e ReliableSessionBindingElement.
Aggiungere gli elementi creati nell'ordine precedente all'oggetto BindingElementCollection utilizzando il InsertItem(Int32, BindingElement) metodo .
Creare un'istanza di AsymmetricSecurityBindingElement e aggiungerla alla raccolta.
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). |