StreamWebSocket.ServerCustomValidationRequested Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lorsqu’une nouvelle connexion StreamWebSocket à un URI de serveur sécurisé (protocole wss: ) est en cours de validation. Gérez cet événement si vous souhaitez implémenter la validation de serveur personnalisée pour la connexion.
// Register
event_token ServerCustomValidationRequested(TypedEventHandler<StreamWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;
// Revoke with event_token
void ServerCustomValidationRequested(event_token const* cookie) const;
// Revoke with event_revoker
StreamWebSocket::ServerCustomValidationRequested_revoker ServerCustomValidationRequested(auto_revoke_t, TypedEventHandler<StreamWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<StreamWebSocket,WebSocketServerCustomValidationRequestedEventArgs> ServerCustomValidationRequested;
function onServerCustomValidationRequested(eventArgs) { /* Your code */ }
streamWebSocket.addEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
streamWebSocket.removeEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
- or -
streamWebSocket.onservercustomvalidationrequested = onServerCustomValidationRequested;
Public Custom Event ServerCustomValidationRequested As TypedEventHandler(Of StreamWebSocket, WebSocketServerCustomValidationRequestedEventArgs)
Type d'événement
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Anniversary Edition (introduit dans 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v3.0)
|
Remarques
Notez que cet événement est déclenché une fois que la validation du système d’exploitation par défaut a été effectuée avec succès et que la validation du système d’exploitation par défaut inclut la prise en compte de l’option de contrôle IgnorableServerCertificateErrors .
Utilisez les propriétés WebSocketServerCustomValidationRequestedEventArgs pour accéder au certificat de serveur et aux certificats intermédiaires proposés pour validation.
Pour garantir une exécution correcte, si votre processus de validation personnalisé implique des opérations asynchrones, veillez à utiliser la méthode WebSocketServerCustomValidationRequestedEventArgs.GetDeferral pour obtenir un objet de report que votre gestionnaire d’événements conserve pendant la durée de l’opération de validation. Une fois votre validation terminée, vous devez appeler Deferral.Complete , que vous acceptiez ou rejetiez la validation.
Comme exemple du type de validation que vous pouvez effectuer dans ce gestionnaire d’événements : vous pouvez comparer le certificat de serveur à un certificat approuvé stocké localement qui correspond au certificat de serveur attendu. Dans votre gestionnaire d’événements, vous comparez le hachage SHA-256 du certificat local au hachage du certificat de serveur. Si les valeurs de hachage correspondent, les certificats sont supposés correspondre et la validation du serveur doit réussir. Si les valeurs de hachage ne correspondent pas, les certificats ne correspondent pas et la validation doit échouer.
Pour indiquer l’échec de la validation, appelez la méthode WebSocketServerCustomValidationRequestedEventArgs.Reject . Pour indiquer la réussite de la validation, retournez simplement à partir du gestionnaire d’événements.
Notez que si la validation réussit ou échoue, vous devez appeler Deferral.Complete sur l’objet de report que vous avez acquis lorsque vous avez démarré le processus de validation.