AsymmetricSecurityBindingElement Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um elemento de associação personalizado que dá suporte à segurança de canal usando criptografia assimétrica. Este elemento de associação assina a mensagem usando o token de autenticação do remetente e criptografa a mensagem usando o token do destinatário.
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
- Herança
- Implementações
Exemplos
O exemplo a seguir mostra como usar essa classe para criar uma associação personalizada que inclui essa classe como um elemento de associação de segurança. Para obter mais informações sobre o código neste exemplo, consulte Como fazer referência consistente 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
Comentários
Uma associação personalizada contém uma coleção de elementos de associação organizados em uma ordem específica: o elemento que representa a parte superior da pilha de associação é adicionado primeiro, o próximo elemento na pilha de associação, é adicionado em segundo e assim por diante.
Para adicionar essa classe a uma associação
Criará um BindingElementCollection.
Crie elementos de associação personalizados acima desse elemento de associação na pilha de associação, como o opcional TransactionFlowBindingElement e ReliableSessionBindingElement.
Adicione os elementos criados na ordem anterior ao BindingElementCollection uso do InsertItem(Int32, BindingElement) método.
Crie uma instância AsymmetricSecurityBindingElement e adicione-a à coleção.
Adicione elementos de associação personalizados adicionais à coleção, como TcpTransportBindingElement.
Antes de usar essa classe, você deve determinar se uma associação padrão atende aos seus requisitos de segurança.
Observação
Depois que uma instância desse objeto for criada, você deverá tratar as propriedades de sua classe SecurityBindingElement base como imutáveis. A chamada definida em algumas propriedades pode ter efeitos imprevisíveis: a associação pode se comportar como se a propriedade tivesse mantido seu valor antigo, com uma falha em tempo de execução sendo a única indicação de um problema. Duas propriedades conhecidas por se comportarem dessa maneira são KeyType e MessageSecurityVersion. Pode haver outras propriedades de que isso se aplica.
Construtores
AsymmetricSecurityBindingElement() |
Cria uma instância dessa classe. |
AsymmetricSecurityBindingElement(SecurityTokenParameters) |
Inicializa uma nova instância de AsymmetricSecurityBindingElement com os parâmetros de token de destinatário especificados. |
AsymmetricSecurityBindingElement(SecurityTokenParameters, SecurityTokenParameters) |
Inicializa uma nova instância de AsymmetricSecurityBindingElement com os parâmetros de token de iniciador e destinatário especificados. |
Propriedades
AllowInsecureTransport |
Obtém ou define um valor que indica se as mensagens seguras de modo misto podem ser enviadas por um transporte não seguro, como HTTP. (Herdado de SecurityBindingElement) |
AllowSerializedSigningTokenOnReply |
Obtém ou define um valor que indica se é permitido serializar um token de assinatura em uma mensagem de resposta. |
DefaultAlgorithmSuite |
Obtém ou define a criptografia de mensagem e os algoritmos de encapsulamento de chave. (Herdado de SecurityBindingElement) |
EnableUnsecuredResponse |
Obtém ou define um valor que indica se o WCF pode enviar e receber respostas desprotegidas a solicitações protegidas. (Herdado de SecurityBindingElement) |
EndpointSupportingTokenParameters |
Obtém o ponto de extremidade compatível com os parâmetros de token. (Herdado de SecurityBindingElement) |
IncludeTimestamp |
Obtém ou define um valor que indica se carimbos de data/hora são incluídos em cada mensagem. (Herdado de SecurityBindingElement) |
InitiatorTokenParameters |
Especifica a definição de token para o iniciador. |
KeyEntropyMode |
Obtém ou define a origem da entropia usada para criar chaves. (Herdado de SecurityBindingElement) |
LocalClientSettings |
Obtém as propriedades de associação específicas para as configurações de segurança locais usadas pelo cliente. (Herdado de SecurityBindingElement) |
LocalServiceSettings |
Obtém as propriedades de associação específicas para as configurações de segurança locais usadas pelo serviço. (Herdado de SecurityBindingElement) |
MessageProtectionOrder |
Obtém ou define a ordem de criptografia e assinatura de mensagem para essa associação. |
MessageSecurityVersion |
Obtém ou define a versão de segurança da mensagem. (Herdado de SecurityBindingElement) |
OperationSupportingTokenParameters |
Obtém a coleção de parâmetros de token de suporte da operação. (Herdado de SecurityBindingElement) |
OptionalEndpointSupportingTokenParameters |
Obtém os parâmetros de token de suporte opcionais para o ponto de extremidade de serviço. (Herdado de SecurityBindingElement) |
OptionalOperationSupportingTokenParameters |
Obtém a coleção de parâmetros de token de suporte da operação opcionais. (Herdado de SecurityBindingElement) |
ProtectTokens |
Obtém ou define se o elemento de associação de segurança protege tokens. (Herdado de SecurityBindingElement) |
RecipientTokenParameters |
Especifica a definição de token para o destinatário. |
RequireSignatureConfirmation |
Obtém ou define um valor que indica se as assinaturas de mensagem devem ser confirmadas. |
SecurityHeaderLayout |
Obtém ou define a ordenação dos elementos no cabeçalho de segurança dessa associação. (Herdado de SecurityBindingElement) |
Métodos
BuildChannelFactory<TChannel>(BindingContext) |
Cria uma fábrica de canais com base nas configurações SecurityBindingElement e no contexto de associação transmitido. A fábrica de canais criada é uma fabrica de canais de segurança da mensagem SOAP, que tem internamente uma referência à fábrica de canais que corresponde ao contexto de associação, (que inclui a fábrica de canais de transporte). (Herdado de SecurityBindingElement) |
BuildChannelFactoryCore<TChannel>(BindingContext) |
Quando implementado, cria uma fábrica de canais de um tipo especificado. (Herdado de SecurityBindingElement) |
BuildChannelListener<TChannel>(BindingContext) |
Cria um ouvinte de canais com base nas configurações SecurityBindingElement e no contexto de associação transmitido. (Herdado de SecurityBindingElement) |
BuildChannelListenerCore<TChannel>(BindingContext) |
Quando implementado, cria um ouvinte de canais de um tipo especificado. (Herdado de SecurityBindingElement) |
CanBuildChannelFactory<TChannel>(BindingContext) |
Determina se uma fábrica de canais do tipo especificado pode ser criada. (Herdado de SecurityBindingElement) |
CanBuildChannelListener<TChannel>(BindingContext) |
Determina se um ouvinte de canais do tipo especificado pode ser criado. (Herdado de SecurityBindingElement) |
Clone() |
Cria uma nova instância dessa classe inicializada da atual. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetProperty<T>(BindingContext) |
Obtém um objeto especificado por meio do BindingContext. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
SetKeyDerivation(Boolean) |
Define um valor que indica se as chaves derivadas são necessárias. |
ToString() |
Retorna uma cadeia de caracteres que representa essa instância AsymmetricSecurityBindingElement. |
Implantações explícitas de interface
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exporta uma declaração de política personalizadas sobre associações, que é adicionada às informações de linguagem WSDL. |