структура WS_XML_TOKEN_MESSAGE_SECURITY_BINDING (webservices.h)
Подтип привязки безопасности для указания использования маркера безопасности, который уже доступен приложению в XML-форме. Маркер безопасности, предоставляемый приложением в этой привязке, представляется службе в заголовке WS-Security в соответствии с указанной bindingUsage. Эта привязка безопасности может быть включена в описание безопасности только на стороне клиента.
Эта привязка безопасности не поддерживается в WS_NAMEDPIPE_CHANNEL_BINDING.
Хотя эту привязку можно использовать с любым маркером, доступным в xml-форме, она обычно используется в сценариях федерации. Например, поставщик маркеров на стороне клиента, например CardSpace, может использоваться для получения маркера из службы маркеров безопасности, а затем этот маркер может быть представлен веб-службе с помощью этой привязки безопасности.
Примечание по безопасности. Как и в случае с другими маркерами безопасности и учетными данными, приложение отвечает за решение об оценке рисков о раскрытии заданного XML-маркера (предоставленного приложением в описании безопасности) на данном сервере (предоставляется приложением при открытии канала). В частности, приложение должно учитывать угрозу того, что сервер может использовать XML-маркер, полученный от клиента, в свою очередь, чтобы притвориться клиентом для сторонней стороны. Для этой угрозы существуют следующие способы устранения рисков: (А) процесс проверки подлинности сервера гарантирует, что сообщение (и, следовательно, маркер) отправляется только на сервер, который может говорить по адресу, указанному клиентским приложением; (B) маркеры без ключа (носителя) обычно можно использовать только на одном сервере (например, contoso.com мало выигрывает от передачи contoso.com маркера имени пользователя и пароля другому сайту. В структуре безопасности приложения должно быть указано, что это свойство хранится); (В) маркеры с симметричным ключом непригодны для использования на любом сервере, который не имеет общего симметричного ключа; (D) Маркеры с асимметричным ключом будут подписывать метку времени и заголовок "To", ограничивая их применимость к предполагаемому "To" в течение узкого периода времени.
При использовании этой привязки безопасности свойства привязки безопасности не могут быть указаны:
Синтаксис
typedef struct _WS_XML_TOKEN_MESSAGE_SECURITY_BINDING {
WS_SECURITY_BINDING binding;
WS_MESSAGE_SECURITY_USAGE bindingUsage;
WS_SECURITY_TOKEN *xmlToken;
} WS_XML_TOKEN_MESSAGE_SECURITY_BINDING;
Члены
binding
Базовый тип, от которого происходит этот подтип привязки безопасности и все остальные подтипы привязки безопасности.
bindingUsage
Как маркер безопасности, соответствующий этой привязке безопасности, должен быть привязан к сообщению.
Поддерживается только WS_SUPPORTING_MESSAGE_SECURITY_USAGE . При таком использовании эта привязка безопасности обеспечивает проверку подлинности клиента, но не защиту сообщений (например, подписывание, шифрование, обнаружение воспроизведения). Таким образом, эту привязку необходимо использовать вместе с другой привязкой безопасности, например WS_SSL_TRANSPORT_SECURITY_BINDING , предоставляющей защищенный канал.
xmlToken
Используемый XML-маркер безопасности. Этот маркер можно создать с помощью WsCreateXmlSecurityToken или получить из службы маркеров безопасности с помощью WsRequestSecurityToken. Когда эта привязка используется для создания канала, создается копия предоставленного маркера и хранится для внутреннего использования. Приложение продолжает владеть предоставленным маркером и отвечает за его удаление с помощью WsFreeSecurityToken в любой момент после возврата вызова создания канала.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | webservices.h |