次の方法で共有


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