IBackgroundCopyJobHttpOptions::SetSecurityFlags 方法(bits2_5.h)

设置 HTTP 的标志,用于确定是否检查证书吊销列表,并忽略某些证书错误,以及服务器重定向 HTTP 请求时要使用的策略。

Syntax

HRESULT SetSecurityFlags(
  [in] ULONG Flags
);

参数

[in] Flags

HTTP 安全标志,指示连接到服务器时要忽略的错误。 可以设置以下一个或多个标志:

价值 Meaning
BG_SSL_ENABLE_CRL_CHECK
0x0001
检查证书吊销列表(CRL),验证服务器证书是否已吊销。
BG_SSL_IGNORE_CERT_CN_INVALID
0x0002
忽略当服务器的证书主机名与请求中的主机名不匹配时引起的错误。
BG_SSL_IGNORE_CERT_DATE_INVALID
0x0004
忽略由过期证书引起的错误。
BG_SSL_IGNORE_UNKNOWN_CA
0x0008
忽略与未知证书颁发机构(CA)关联的错误。
BG_SSL_IGNORE_CERT_WRONG_USAGE
0x0010
忽略与使用证书关联的错误。
BG_HTTP_REDIRECT_POLICY_ALLOW_SILENT
0x0000
允许服务器将请求重定向到另一台服务器。 这是默认情况。
BG_HTTP_REDIRECT_POLICY_ALLOW_REPORT
0x0100
允许服务器将请求重定向到另一台服务器。 BITS 使用最终 URL 更新远程名称。
BG_HTTP_REDIRECT_POLICY_DISALLOW
0x0200
服务器将请求重定向到另一台服务器时,将作业置于致命错误状态。 BITS 使用重定向 URL 更新远程名称。
BG_HTTP_REDIRECT_POLICY_MASK
0x0700
可用于安全标志值的位掩码,以确定哪些重定向策略生效。 它不包括标志ALLOW_HTTPS_TO_HTTP。
BG_HTTP_REDIRECT_POLICY_ALLOW_HTTPS_TO_HTTP
0x0800
允许服务器将 HTTPS 请求重定向到 HTTP URL。

可以将此标志与BG_HTTP_REDIRECT_POLICY_ALLOW_SILENT和BG_HTTP_REDIRECT_POLICY_ALLOW_REPORT结合使用。

返回值

下表列出了一些可能的返回值。

返回代码 Description
S_OK
已成功检索标头。
E_NOTIMPL
不支持标志值。

注解

如果请求 CRL 检查,则 BITS 会对指定 HTTPS 协议的作业中的所有文件执行检查。 在文件开始传输之前,会为每个文件进行检查。 如果在 BITS 部分下载文件后将此值设置为 TRUE ,则 BITS 将重新计划作业,然后再次开始下载该文件。 已下载的文件不受影响。

如果 CRL up-to-date,则 BITS 在本地计算机上使用 CRL;否则,BITS 会从签名证书的证书颁发机构(CA)下载 CRL。

如果发生以下错误,作业将进入致命错误状态。

错误代码 Description
ERROR_WINHTTP_SECURE_CERT_REV_FAILED 无法请求 CRL 检查,因为证书服务器处于脱机状态或无法下载 CRL。
ERROR_WINHTTP_SECURE_CERT_REVOKED 证书已吊销。
 

重定向策略适用于下载作业中的所有文件(策略不适用于上传作业)。

在 BITS 3.0 之前: 不支持重定向策略。

如果策略BG_HTTP_REDIRECT_POLICY_DISALLOW并且服务器重定向请求,作业将置于致命错误状态,并具有以下错误代码之一。 有关错误代码的说明,请参阅 HTTP 状态代码

  • HRESULT_FROM_WIN32(HTTP_STATUS_AMBIGUOUS)
  • HRESULT_FROM_WIN32(HTTP_STATUS_MOVED)
  • HRESULT_FROM_WIN32(HTTP_STATUS_REDIRECT)
  • HRESULT_FROM_WIN32(HTTP_STATUS_REDIRECT_METHOD)
  • HRESULT_FROM_WIN32(HTTP_STATUS_REDIRECT_KEEP_VERB)
BITS 不支持从 HTTP 或 HTTP 重定向到 SMB。

如果启用了对等缓存,并且指定了BG_HTTP_REDIRECT_POLICY_ALLOW_REPORT,则该文件将存储在缓存中,其中包含最终重定向 URL。 如果对等方尝试使用原始 URL 下载文件,则对等方不会在对等缓存中找到该文件,最终将从源服务器下载该文件。

如果指定文件并从 下载文件

请注意,调用 IBackgroundCopyJob3::ReplaceRemotePrefix 方法时,设置BG_HTTP_REDIRECT_POLICY_ALLOW_REPORT可能会影响结果。 如果服务器重定向了请求,则 BITS 将已将原始 URL 更改为最终重定向 URL,因此调用 ReplaceRemotePrefix 方法将找不到具有原始 URL 的文件。

要求

Requirement 价值
最低支持的客户端 Windows Vista
支持的最低服务器 Windows Server 2008
目标平台 Windows操作系统
Header bits2_5.h (包括 Bits.h)
Library Bits.lib

另请参阅

IBackgroundCopyJobHttpOptions

IBackgroundCopyJobHttpOptions::GetSecurityFlags