Misturando protocolos confiáveis em cenários federados

Pode haver cenários em que os clientes federados se comunicam com um serviço e um STS (serviço de token de segurança) que não têm a mesma versão de confiança. O WSDL de serviço pode conter uma asserção RequestSecurityTokenTemplate com elementos WS-Trust que são de versões diferentes do STS. Nesses casos, um cliente do WCF (Windows Communication Foundation) converte os elementos WS-Trust recebidos de RequestSecurityTokenTemplate para corresponder à versão de confiança do STS. O WCF lida com versões de confiança incompatíveis apenas para associações padrão. Todos os parâmetros de algoritmo padrão reconhecidos pelo WCF fazem parte da associação padrão. Este tópico descreve o comportamento do WCF com várias configurações de confiança entre o serviço e o STS.

RP Feb 2005 e STS Feb 2005

O WSDL para RP (terceira parte confiável) contém os seguintes elementos na seção RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

O arquivo de configuração do cliente contém uma lista de parâmetros.

O WCF não pode diferenciar entre os parâmetros do cliente e do serviço, portanto, ele adiciona todos os parâmetros e os envia no RequestSecurityTokenTemplate (RST).

RP Trust 1.3 e STS Trust 1.3

O WSDL para RP contém os seguintes elementos na seção RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

  • KeyWrapAlgorithm

O arquivo de configuração do cliente contém um elemento secondaryParameters que encapsula os parâmetros especificados pela RP.

O WCF removerá os elementos EncryptionAlgorithm, CanonicalizationAlgorithm e KeyWrapAlgorithm do nível superior sob o RST se eles estiverem presentes no elemento SecondaryParameters. O WCF acrescenta o elemento SecondaryParameters ao RST de saída não modificado.

RP Trust Feb 2005 e STS Trust 1.3

O WSDL para RP contém os seguintes elementos na seção RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

O arquivo de configuração do cliente contém uma lista de parâmetros.

No arquivo de configuração do cliente, o WCF não pode diferenciar entre os parâmetros do serviço e do cliente. Portanto, ele converte todos os parâmetros em um namespace Trust versão 1.3.

O WCF manipula os elementos KeyType, KeySize e TokenType da seguinte maneira:

  • Baixe o WSDL, crie a associação e atribua KeyType, KeySize e TokenType com base nos parâmetros da RP. Em seguida, o arquivo de configuração do cliente é gerado.

  • O cliente agora pode alterar qualquer parâmetro no arquivo de configuração.

  • Durante o runtime, o WCF copia todos os parâmetros especificados na seção AdditionalTokenParameters do arquivo de configuração do cliente, exceto KeyType, KeySize e TokenType, pois esses parâmetros são contabilizados durante a geração do arquivo de configuração.

RP Trust 1.3 e STS Trust Feb 2005

O WSDL para RP contém os seguintes elementos na seção RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

  • KeyWrapAlgorithm

O arquivo de configuração do cliente contém um elemento secondaryParameters que encapsula os parâmetros especificados pela RP.

O WCF copia todos os parâmetros especificados na seção SecondaryParameters para o elemento RST de nível superior, mas não os converte no namespace do WS-Trust 2005.