AsymmetricSecurityBindingElement Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un elemento de enlace personalizado que admite seguridad del canal mediante el cifrado asimétrico. Este elemento de enlace firma el mensaje mediante el token de autenticación del remitente y cifra el mensaje mediante el 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
- Herencia
- Implementaciones
Ejemplos
El ejemplo siguiente muestra cómo utilizar esta clase para crear un enlace personalizado que incluya esta clase como un elemento de enlace de seguridad. Para obtener más información sobre el código de este ejemplo, vea Cómo: Hacer referencia coherente a certificados 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
Comentarios
Un enlace personalizado contiene una colección de elementos de enlace organizada en un orden específico: primero se agrega el elemento que representa la parte superior de la pila de enlace, el elemento siguiente en la pila de enlace se agrega en segundo lugar, etc.
Para agregar esta clase a un enlace
Creará un control BindingElementCollection.
Cree elementos de enlace personalizados que sean anteriores a este elemento de enlace en la pila de enlace, como el TransactionFlowBindingElement opcional y ReliableSessionBindingElement.
Agregue los elementos creados en el orden mencionado previamente a BindingElementCollection utilizando el método InsertItem(Int32, BindingElement).
Cree una instancia de AsymmetricSecurityBindingElement y agréguela a la colección.
Agregue cualquier elemento de enlace personalizado adicional a la colección, como la clase TcpTransportBindingElement.
Antes de utilizar esta clase, debería determinar si un enlace estándar satisface sus requisitos de seguridad.
Nota
Una vez creada una instancia de este objeto, debería tratar las propiedades de su clase base SecurityBindingElement como inmutables. Llamar a set en algunas propiedades puede tener efectos imprevisibles: el enlace puede comportarse como si la propiedad hubiese retenido su valor anterior, con un error en tiempo de ejecución como única indicación de un problema. Dos propiedades conocidas por comportarse de esta manera son KeyType y MessageSecurityVersion. Puede haber otras propiedades para las que esto sea verdad.
Constructores
AsymmetricSecurityBindingElement() |
Crea una instancia de esta clase. |
AsymmetricSecurityBindingElement(SecurityTokenParameters) |
Inicializa una nueva instancia de la clase AsymmetricSecurityBindingElement con los parámetros especificados del token del destinatario. |
AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) |
Inicializa una nueva instancia de la clase AsymmetricSecurityBindingElement con los parámetros especificados del token del destinatario y del iniciador. |
Propiedades
AllowInsecureTransport |
Obtiene o establece un valor que indica si los mensajes seguros en modo mixto se pueden enviar a través de un transporte no seguro como HTTP. (Heredado de SecurityBindingElement) |
AllowSerializedSigningTokenOnReply |
Obtiene o establece un valor que indica si está permitido serializar un token de firma en un mensaje de respuesta. |
DefaultAlgorithmSuite |
Obtiene o establece el cifrado de mensajes y los algoritmos de encapsulado de claves. (Heredado de SecurityBindingElement) |
EnableUnsecuredResponse |
Obtiene o establece un valor que indica si WCF puede enviar y recibir respuestas no seguras a solicitudes seguras. (Heredado de SecurityBindingElement) |
EndpointSupportingTokenParameters |
Obtiene el extremo que admite los parámetros de token. (Heredado de SecurityBindingElement) |
IncludeTimestamp |
Obtiene o establece un valor que indica si las marcas de tiempo están incluidas en cada mensaje. (Heredado de SecurityBindingElement) |
InitiatorTokenParameters |
Especifica la definición del token para el iniciador. |
KeyEntropyMode |
Obtiene o establece el origen de entropía usado para crear claves. (Heredado de SecurityBindingElement) |
LocalClientSettings |
Obtiene las propiedades de enlace específicas de la configuración de seguridad local utilizada por el cliente. (Heredado de SecurityBindingElement) |
LocalServiceSettings |
Obtiene las propiedades de enlace específicas de la configuración de seguridad local utilizada por el servicio. (Heredado de SecurityBindingElement) |
MessageProtectionOrder |
Obtiene o establece el orden de cifrado de mensajes y firma para este enlace. |
MessageSecurityVersion |
Obtiene o establece la versión de seguridad de mensaje. (Heredado de SecurityBindingElement) |
OperationSupportingTokenParameters |
Obtiene la colección de parámetros de tokens auxiliares de operación. (Heredado de SecurityBindingElement) |
OptionalEndpointSupportingTokenParameters |
Obtiene los parámetros de tokens auxiliares opcionales para el punto de conexión de servicio. (Heredado de SecurityBindingElement) |
OptionalOperationSupportingTokenParameters |
Obtiene la colección de parámetros de tokens auxiliares de operación opcionales. (Heredado de SecurityBindingElement) |
ProtectTokens |
Obtiene o establece si el elemento de enlace de seguridad protege los tokens. (Heredado de SecurityBindingElement) |
RecipientTokenParameters |
Especifica la definición del token para el destinatario. |
RequireSignatureConfirmation |
Obtiene o establece un valor que indica si se deben confirmar las firmas del mensaje. |
SecurityHeaderLayout |
Obtiene o establece el orden de los elementos en el encabezado de seguridad para este enlace. (Heredado de SecurityBindingElement) |
Métodos
BuildChannelFactory<TChannel>(BindingContext) |
Crea un generador de canales basándose en la configuración de la clase SecurityBindingElement y en el contexto del enlace que se pasa. El generador de canales creado es un generador de canales de seguridad de mensaje SOAP, que internamente tiene una referencia al generador de canales que corresponde al contexto de enlace (que incluye el generador de canales de transporte). (Heredado de SecurityBindingElement) |
BuildChannelFactoryCore<TChannel>(BindingContext) |
Cuando se implementa, crea un generador de canales de un tipo especificado. (Heredado de SecurityBindingElement) |
BuildChannelListener<TChannel>(BindingContext) |
Crea una escucha del canal basada en los valores SecurityBindingElement y el contexto de enlace pasado. (Heredado de SecurityBindingElement) |
BuildChannelListenerCore<TChannel>(BindingContext) |
Cuando se implementa, crea una escucha de canales de un tipo especificado. (Heredado de SecurityBindingElement) |
CanBuildChannelFactory<TChannel>(BindingContext) |
Determina si se puede crear un generador de canales del tipo especificado. (Heredado de SecurityBindingElement) |
CanBuildChannelListener<TChannel>(BindingContext) |
Determina si se puede crear una escucha de canales del tipo especificado. (Heredado de SecurityBindingElement) |
Clone() |
Crea una nueva instancia de esta clase inicializada a partir de la instancia actual. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetProperty<T>(BindingContext) |
Obtiene un objeto especificado a partir de BindingContext. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
SetKeyDerivation(Boolean) |
Establece un valor que indica si se requieren claves derivadas. |
ToString() |
Devuelve una cadena que representa esta instancia AsymmetricSecurityBindingElement. |
Implementaciones de interfaz explícitas
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exporta una aserción de directiva personalizada sobre los enlaces, que se agrega a la información del lenguaje de descripción de servicios Web (WSDL). |