> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XNetworkingVerifyServerCertificate

> XNetworkingVerifyServerCertificate

# XNetworkingVerifyServerCertificate

追加の証明書チェーン検証を提供します。

## 構文

```cpp theme={null}
HRESULT XNetworkingVerifyServerCertificate(
         void* requestHandle,
         const XNetworkingSecurityInformation* securityInformation
)
```

### パラメーター

*requestHandle*   \_In\_\
Type: void\*

[HINTERNET](https://learn.microsoft.com/windows/win32/winhttp/hinternet-handles-in-winhttp) 型のハンドル。有効なハンドルを取得するには、[WinHttpOpenRequest](https://learn.microsoft.com/windows/win32/api/winhttp/nf-winhttp-winhttpopenrequest) を呼び出します。

*securityInformation*   \_In\_\
Type: [XNetworkingSecurityInformation](/reference/networking/xnetworking/structs/xnetworkingsecurityinformation)\*

`XNetworkingSecurityInformation` 構造体へのポインター。適切なポインターを取得するには、[XNetworkingQuerySecurityInformationForUrlAsyncResult](/reference/networking/xnetworking/functions/xnetworkingquerysecurityinformationforurlasyncresult) 関数を呼び出します。

### 戻り値

Type: HRESULT

成功した場合は `S_OK` を返します。これは、サーバー証明書チェーンが有効であることを示します。それ以外の場合は、サーバー チェーンを検証できなかったことを示すエラー コードを返します。すべての失敗は HTTP 要求にとって致命的なものとして扱ってください。

## 解説

<Note>この関数は、時間的制約のあるスレッドで呼び出すことは安全ではありません。詳細については、[時間的制約のあるスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads) を参照してください。</Note>

この関数は `WINHTTP_CALLBACK_STATUS_SENDING_REQUEST` WinHTTP コールバック内から呼び出します。以前の [XNetworkingQuerySecurityInformationForUrlAsync](/reference/networking/xnetworking/functions/xnetworkingquerysecurityinformationforurlasync) 呼び出しでキャッシュした `XNetworkingSecurityInformation` 構造体を、コールバックに関連付けられている WinHTTP 要求ハンドルと共に渡します。コールバックの詳細については、[WinHttpSendRequest](https://learn.microsoft.com/windows/win32/api/winhttp/nf-winhttp-winhttpsendrequest) を参照してください。

`XNetworkingVerifyServerCertificate` 関数が失敗した場合、ゲーム ランタイムがサーバーへの侵害された接続を検出した可能性があります。この場合、侵害されたサーバーとの間でデータが転送されないことを保証するために、コールバックが戻る前に直ちに WinHTTP 要求ハンドルを閉じる必要があります。

ベスト プラクティスとして、コンテンツやプロトコルに関係なく、タイトルのすべての通信を保護する必要があります。タイトルは、タイトルのすべての通信について機密性、整合性、認証を提供する必要があります。詳細については、[通信セキュリティの概要 (NDA トピック)](/build/game-principles/security/communication-security-overview) を参照してください

## 要件

**ヘッダー:** XNetworking.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリ本体および XBOX Series 本体

## 概念ドキュメント

* [WinHTTP の概要](/build/console-features/networking/web-requests/intro-winhttp)
* [時間的制約のあるスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 関連項目

[HTTP と WebSocket](/build/console-features/networking/web-requests/http-networking)\
[XNetworking](/reference/networking/xnetworking/xnetworking_members)


## Related topics

- [WinHTTP の概要](/ja-jp/build/console-features/networking/web-requests/intro-winhttp.md)
- [XNetworking](/ja-jp/reference/networking/xnetworking/xnetworking_members.md)
- [GDK 向け Unity C# API ラッパー](/ja-jp/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [certificate_deleted](/ja-jp/services/playfab/api-references/events/MultiplayerServers/certificate-deleted.md)
- [certificate_uploaded](/ja-jp/services/playfab/api-references/events/MultiplayerServers/certificate-uploaded.md)
