IBackgroundCopyJobHttpOptions::SetSecurityFlags 方法 (bits2_5.h)

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

语法

HRESULT SetSecurityFlags(
  [in] ULONG Flags
);

参数

[in] Flags

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

含义
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组合在一起。

返回值

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

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

备注

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

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

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

错误代码 说明
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 的文件。

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 bits2_5.h (包括 Bits.h)
Library Bits.lib

另请参阅

IBackgroundCopyJobHttpOptions

IBackgroundCopyJobHttpOptions::GetSecurityFlags