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
eTokenType
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, excetoKeyType
,KeySize
eTokenType
, 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.