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 主机

另请参阅

HTTP 和 WebSocket
XNetworking