WS_SECURITY_BINDING_PROPERTY_ID 枚举 (webservices.h)

标识用于指定安全绑定设置的属性。 安全绑定设置存在于 安全绑定 中,而安全绑定又在 安全说明中使用。

此枚举在 WS_SECURITY_BINDING_PROPERTY 结构中使用,而 WS_SECURITY_BINDING结构中 又使用。 并非所有值都适用于所有安全绑定。 有关支持相应属性的安全绑定列表,请参阅各个说明。

请注意,相关的枚举 WS_SECURITY_TOKEN_PROPERTY_ID 定义用于从安全令牌实例中提取字段的密钥。 因此, WS_SECURITY_BINDING_PROPERTY 允许在通道/侦听器创建时指定安全绑定设置,以影响安全令牌的创建和使用方式,而 WS_SECURITY_TOKEN_PROPERTY_ID 启用从安全令牌中提取字段 -- 通常是通道和安全处于“活动”状态时从收到的消息中提取安全令牌。

语法

typedef enum {
  WS_SECURITY_BINDING_PROPERTY_REQUIRE_SSL_CLIENT_CERT = 1,
  WS_SECURITY_BINDING_PROPERTY_WINDOWS_INTEGRATED_AUTH_PACKAGE = 2,
  WS_SECURITY_BINDING_PROPERTY_REQUIRE_SERVER_AUTH = 3,
  WS_SECURITY_BINDING_PROPERTY_ALLOW_ANONYMOUS_CLIENTS = 4,
  WS_SECURITY_BINDING_PROPERTY_ALLOWED_IMPERSONATION_LEVEL = 5,
  WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME = 6,
  WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_TARGET = 7,
  WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_BASIC_REALM = 8,
  WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_REALM = 9,
  WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_DOMAIN = 10,
  WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_SIZE = 11,
  WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_ENTROPY_MODE = 12,
  WS_SECURITY_BINDING_PROPERTY_MESSAGE_PROPERTIES = 13,
  WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_PENDING_CONTEXTS = 14,
  WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_ACTIVE_CONTEXTS = 15,
  WS_SECURITY_BINDING_PROPERTY_SECURE_CONVERSATION_VERSION = 16,
  WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_SUPPORT_RENEW = 17,
  WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_RENEWAL_INTERVAL = 18,
  WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_ROLLOVER_INTERVAL = 19,
  WS_SECURITY_BINDING_PROPERTY_CERT_FAILURES_TO_IGNORE = 20,
  WS_SECURITY_BINDING_PROPERTY_DISABLE_CERT_REVOCATION_CHECK = 21,
  WS_SECURITY_BINDING_PROPERTY_DISALLOWED_SECURE_PROTOCOLS = 22,
  WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT = 23
} WS_SECURITY_BINDING_PROPERTY_ID;

常量

 
WS_SECURITY_BINDING_PROPERTY_REQUIRE_SSL_CLIENT_CERT
值:1
一个 BOOL ,指定在使用 SSL 时是否应要求客户端证书。 The
默认值为 FALSE


可以在 的安全绑定属性中指定此设置
服务器端 WS_SSL_TRANSPORT_SECURITY_BINDING
WS_SECURITY_BINDING_PROPERTY_WINDOWS_INTEGRATED_AUTH_PACKAGE
值: 2
一个 WS_WINDOWS_INTEGRATED_AUTH_PACKAGE 值,该值指定要使用的 Kerberos、NTLM、SPNEGO) 之间的特定 SSP 包 (
执行 Windows 集成身份验证时。 默认值为 WS_WINDOWS_INTEGRATED_AUTH_PACKAGE_SPNEGO


可以在 WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING 的安全绑定属性中指定此设置。
WS_SECURITY_BINDING_PROPERTY_REQUIRE_SERVER_AUTH
值: 3
一个 BOOL ,指定服务器身份验证是否是必需的。 目前,此设置
仅当使用基于 Windows 集成身份验证时适用
安全。 将此设置为 FALSE 是强
不鼓励,因为没有服务器身份验证,是恶意方
无法检测到伪装成服务器。


WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING 一起使用时默认值为 TRUE,与 WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING 一起使用时默认值为 FALSE


如果某个协议不执行服务器身份验证 (,例如 NTLM)
若要允许,此属性必须设置为
FALSE

只能在安全绑定属性中指定此设置
客户端 WS_TCP_SSPI_TRANSPORT_SECURITY_BINDINGWS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING
WS_SECURITY_BINDING_PROPERTY_ALLOW_ANONYMOUS_CLIENTS
值: 4
指定 BOOL
服务器是否应允许客户端匿名进行身份验证
使用基于 Windows 集成身份验证的安全性。 默认值
FALSE


只能在安全绑定属性中指定此设置
服务器端 WS_TCP_SSPI_TRANSPORT_SECURITY_BINDINGWS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING
WS_SECURITY_BINDING_PROPERTY_ALLOWED_IMPERSONATION_LEVEL
值: 5
一个SECURITY_IMPERSONATION_LEVEL值,该值指定客户端在使用 Windows 时希望允许的模拟级别
用于与服务通信的集成身份验证。 默认模拟级别为 SecurityIdentification


可以在安全绑定属性中指定此设置
WS_TCP_SSPI_TRANSPORT_SECURITY_BINDINGWS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDINGWS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME
值: 6
一个 ULONG ,指定要使用的 HTTP 标头身份验证模式。 指定的值必须是一个或多个 的组合
WS_HTTP_HEADER_AUTH_SCHEME_NONEWS_HTTP_HEADER_AUTH_SCHEME_BASIC
WS_HTTP_HEADER_AUTH_SCHEME_DIGESTWS_HTTP_HEADER_AUTH_SCHEME_NTLM
WS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE。 在用于通信的绑定上设置此属性时
使用 HTTP 代理服务器时,只应设置一个方案, 并且WS_HTTP_HEADER_AUTH_SCHEME_NONE
可能不使用。


或者,此属性可以设置为 WS_HTTP_HEADER_AUTH_SCHEME_PASSPORT
WS_HTTP_HEADER_AUTH_SCHEME_PASSPORT 不得与任何其他值组合使用,并且不能用于
向 HTTP 代理服务器进行身份验证。



WS_HTTP_HEADER_AUTH_SCHEME_NONE 仅在客户端上受支持。 单独设置会禁用 HTTP 标头身份验证。
将其与其他方案结合使用,使客户端可以在服务器不需要标头身份验证时回退到无标头身份验证。
否则,如果客户端指定了多个身份验证方案,并且服务器不需要身份验证,则请求将失败。


设置单个身份验证方案时,客户端将使用该方案集执行请求。 如果设置了多个方案,
客户端将首先通过发送未经身份验证的空白请求来探测服务器中是否支持的方案。 客户端应该
和服务器共享多个受支持的方案,客户端将按以下顺序确定方案的优先级,并相互选取第一个
支持的一个:



当方案设置为 WS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE 并协商 Kerberos 身份验证时,服务器主体名称 (SPN)
used 派生自服务器的 DNS 名称。 即使存在 WS_ENDPOINT_IDENTITY 也会被忽略。 为了进行身份验证
要成功,服务器必须能够解密该 SPN 的 Kerberos 票证。


如果将方案设置为 WS_HTTP_HEADER_AUTH_SCHEME_DIGESTWS_HTTP_HEADER_AUTH_SCHEME_BASIC,则必须将 WS_STRING_WINDOWS_INTEGRATED_AUTH_CREDENTIAL 用作凭据类型。

注意:使用“localhost”、“127.0.0.1”或类似方式将本地计算机称为服务器地址,在使用时可能会导致失败
WS_HTTP_HEADER_AUTH_SCHEME_NTLMWS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE。 建议改用计算机名称。


可以在 WS_HTTP_HEADER_AUTH_SECURITY_BINDING 的安全绑定属性中指定此设置。
默认值为 WS_HTTP_HEADER_AUTH_SCHEME_NEGOTIATE
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_TARGET
值: 7
一个 WS_HTTP_HEADER_AUTH_TARGET 值,该值指定要使用的 HTTP 标头身份验证目标。 可以指定此属性
,指示 http 标头身份验证是否安全绑定
用于目标服务器或代理服务器。 默认值为 WS_HTTP_HEADER_AUTH_TARGET_SERVICE


可以在 WS_HTTP_HEADER_AUTH_SECURITY_BINDING 的安全绑定属性中指定此设置。
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_BASIC_REALM
值: 8
WS_STRING用作具有基本 HTTP 标头的领域
身份验证方案。


可以在 的安全绑定属性中指定此设置
服务器端 WS_HTTP_HEADER_AUTH_SECURITY_BINDING
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_REALM
值: 9
用作包含摘要 HTTP 的领域的WS_STRING
标头身份验证方案。


可以在 的安全绑定属性中指定此设置
服务器端 WS_HTTP_HEADER_AUTH_SECURITY_BINDING
WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_DOMAIN
值: 10
使用摘要用作域名的WS_STRING
HTTP 标头身份验证方案。


可以在 的安全绑定属性中指定此设置
服务器端 WS_HTTP_HEADER_AUTH_SECURITY_BINDING
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_SIZE
值: 11
一个 ULONG,指定要从 请求的安全令牌) 位 (密钥大小
发行。 如果未指定,颁发者将决定大小。 可与 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING一起使用。
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_ENTROPY_MODE
值: 12
一个WS_SECURITY_KEY_ENTROPY_MODE值,该值指定熵如何对颁发的对称密钥中的密钥造成影响
令 牌。 默认值为 WS_SECURITY_KEY_ENTROPY_MODE_COMBINED
可以在 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构的安全绑定属性中指定此设置。
WS_SECURITY_BINDING_PROPERTY_MESSAGE_PROPERTIES
值: 13
要指定的 WS_MESSAGE_PROPERTIES
同时 将两条消息创建
用于获取交换的安全令牌。 如果此属性
未指定,使用 创建请求和回复消息
默认消息属性。 可以在 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构的安全绑定属性中指定此设置。
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_PENDING_CONTEXTS
值: 14
一个 ULONG,指定服务上挂起的安全上下文的最大数目
尚未接受应用程序 (或服务模型)
渠道。 默认值为 100。 可以在 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构的安全绑定属性中指定设置。
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_ACTIVE_CONTEXTS
值: 15
一个 ULONG ,指定服务上活动安全上下文的最大数目。 默认值为 1000。
可以在 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构的安全绑定属性中指定设置。
WS_SECURITY_BINDING_PROPERTY_SECURE_CONVERSATION_VERSION
值: 16
指定要使用的 WS-SecureConversation 版本的WS_SECURE_CONVERSATION_VERSION值。 默认值为 WS_SECURE_CONVERSATION_VERSION_FEBRUARY_2005
可以在 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构的安全绑定属性中指定此设置。
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_SUPPORT_RENEW
值: 17
一个 BOOL ,指定
是否支持在已建立的安全上下文上执行续订操作。 在客户端上,如果这是
设置为 FALSE,而不是将现有安全上下文续订为新上下文
将建立。 在服务器上,所有传入的续订消息都将是
拒绝。 默认值为 TRUE。
可以在 WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构的安全绑定属性中指定此设置。
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_RENEWAL_INTERVAL
值: 18
一个WS_TIMESPAN结构,其中包含必须在该间隔之前续订安全上下文。 在客户端上,默认为 10 小时
和 表示会话主动续订的时间。 在服务器上,默认为 15 小时
和 表示上下文生存期。 在达到该限制之前,必须续订服务器上下文。
此设置可以在 的安全绑定属性中指定
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构。
WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_ROLLOVER_INTERVAL
值: 19
一个WS_TIMESPAN结构,包含续订后应接受旧安全上下文令牌的时间间隔。 默认为 5 分钟。
提供此容错间隔,用于在会话续订期间顺利处理应用程序消息。
此设置可以在 的安全绑定属性中指定
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING 结构。
WS_SECURITY_BINDING_PROPERTY_CERT_FAILURES_TO_IGNORE
值: 20
一个 ULONG,指定客户端忽略的一组证书验证失败,以便与
不管怎样,远程终结点都将成功。
可以指定 WS_CERT_FAILURE 或 0 中定义的值的任意组合。 默认值为 WS_CERT_FAILURE_REVOCATION_OFFLINE
此设置可以在 的安全绑定属性中指定
客户端上的WS_SSL_TRANSPORT_SECURITY_BINDING 结构。


忽略证书验证失败可能会使应用程序暴露出潜在的安全漏洞。
应仔细评估此属性的使用。
WS_SECURITY_BINDING_PROPERTY_DISABLE_CERT_REVOCATION_CHECK
值: 21
一个 BOOL,指定证书吊销检查的状态。 设置为 TRUE 时,将禁用证书吊销检查。 默认值为 FALSE。
此设置可以在 的安全绑定属性中指定
客户端上的WS_SSL_TRANSPORT_SECURITY_BINDING 结构。


禁用证书吊销检查可能会使应用程序暴露潜在的安全漏洞。
应仔细评估此属性的使用。
WS_SECURITY_BINDING_PROPERTY_DISALLOWED_SECURE_PROTOCOLS
值: 22
WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT
值: 23
一个WS_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT结构,指定将为每个发送请求操作调用的回调。 这样,应用程序就可以验证与请求连接关联的证书。

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
标头 webservices.h