Compartilhar via


AsymmetricSecurityBindingElement Classe

Definição

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
AsymmetricSecurityBindingElement
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

  1. Criará um BindingElementCollection.

  2. Crie elementos de associação personalizados acima desse elemento de associação na pilha de associação, como o opcional TransactionFlowBindingElement e ReliableSessionBindingElement.

  3. Adicione os elementos criados na ordem anterior ao BindingElementCollection uso do InsertItem(Int32, BindingElement) método.

  4. Crie uma instância AsymmetricSecurityBindingElement e adicione-a à coleção.

  5. 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.

Aplica-se a