XNetworkingVerifyServerCertificate
提供额外的证书链验证。
语法
HRESULT XNetworkingVerifyServerCertificate(
void* requestHandle,
const XNetworkingSecurityInformation* securityInformation
)
参数
requestHandle _In_
类型: void*
HINTERNET 类型的句柄。 要获取有效句柄,请调用 WinHttpOpenRequest。
securityInformation _In_
类型:XNetworkingSecurityInformation*
指向 XNetworkingSecurityInformation
结构的指针。 要获取合适的指针,请调用 XNetworkingQuerySecurityInformationForUrlAsyncResult 函数。
返回值
类型:HRESULT
成功时返回 S_OK
。 这表明服务器证书链有效。 否则,返回一个错误代码,指示无法验证服务器链。 请重视所有失败,因为它们会对 HTTP 请求造成致命影响。
备注
注意
在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程。
从 WINHTTP_CALLBACK_STATUS_SENDING_REQUEST
WinHTTP 回调内调用此函数。 将之前调用中缓存的 XNetworkingSecurityInformation
结构传递到 XNetworkingQuerySecurityInformationForUrlAsync 以及与回调关联的 WinHTTP 请求句柄。 有关回调的其他信息,请参阅 WinHttpSendRequest。
如果 XNetworkingVerifyServerCertificate
函数失败,则游戏运行时可能已检测到与服务器的连接出现问题。 在这种情况下,应立即在回调返回前关闭 WinHTTP 请求句柄,以确保没有数据传输到或传输自损坏的服务器。
作为最佳实践,应该保护所有游戏通信,无论内容还是协议。 游戏应该为所有游戏通信提供保密性、完整性和身份验证。 有关详细信息,请参阅通信安全概览(NDA 主题)要求授权
要求
头文件:XNetworking.h
库:xgameruntime.lib
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机