Поделиться через


Использование нескольких протоколов доверия в сценариях федерации

Возможны сценарии, в которых федеративные клиенты взаимодействуют со службой и службой маркеров безопасности, версии доверия которых не совпадают. Код WSDL службы может содержать утверждение RequestSecurityTokenTemplate с элементами WS-Trust, версии которых не совпадают с версией службы маркеров безопасности. В таких случаях клиент Windows Communication Foundation (WCF) преобразует элементы WS-Trust, полученные из RequestSecurityTokenTemplate версии доверия STS. WCF обрабатывает несогласованные версии доверия только для стандартных привязок. Все стандартные параметры алгоритма, распознаваемые WCF, являются частью стандартной привязки. В этом разделе описывается поведение WCF с различными параметрами доверия между службой и службой STS.

Проверяющая сторона и служба маркеров безопасности используют версию февраля 2005 г.

Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

Файл конфигурации клиента содержит список параметров.

WCF не может различать параметры клиента и службы; он добавляет все параметры и отправляет их в RequestSecurityTokenTemplate (RST).

Проверяющая сторона и служба маркеров безопасности используют версию Trust 1.3

Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

  • KeyWrapAlgorithm

Файл конфигурации клиента содержит элемент secondaryParameters, являющийся оболочкой для параметров, заданных проверяющей стороной.

WCF удаляет EncryptionAlgorithmCanonicalizationAlgorithmKeyWrapAlgorithm элементы из элемента верхнего уровня в RST, если они присутствуют внутри SecondaryParameters элемента. WCF добавляет элемент к исходящему SecondaryParameters объекту RST, не измененном.

Проверяющая сторона использует версию февраля 2005 г., а служба маркеров безопасности - версию Trust 1.3

Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

Файл конфигурации клиента содержит список параметров.

Из файла конфигурации клиента WCF не может различать параметры службы и клиента. Поэтому WCF преобразует все параметры в пространство имен Trust версии 1.3.

WCF обрабатывает KeyTypeэлементы и KeySizeTokenType элементы следующим образом:

  • Загружается код WSDL, создается привязка и присваиваются значения KeyType, KeySize и TokenType на основании параметров проверяющей стороны. Создается файл конфигурации клиента.

  • Теперь клиент может изменять любые параметры в файле конфигурации.

  • Во время выполнения WCF копирует все параметры, указанные в AdditionalTokenParameters разделе файла конфигурации клиента, кроме того KeyType, KeySize и TokenType, поскольку эти параметры учитываются во время создания файла конфигурации.

Проверяющая сторона использует версию Trust 1.3, а служба маркеров безопасности - версию февраля 2005 г.

Код WSDL проверяющей стороны содержит следующие элементы в разделе RequestSecurityTokenTemplate:

  • CanonicalizationAlgorithm

  • EncryptionAlgorithm

  • EncryptWith

  • SignWith

  • KeySize

  • KeyType

  • KeyWrapAlgorithm

Файл конфигурации клиента содержит элемент secondaryParameters, являющийся оболочкой для параметров, заданных проверяющей стороной.

WCF копирует все параметры, указанные в SecondaryParameters разделе, в элемент RST верхнего уровня, но не преобразует их в пространство имен WS-Trust 2005.