Share via


MessageWebSocket.ServerCustomValidationRequested Kejadian

Definisi

Terjadi ketika koneksi MessageWebSocket baru ke URI server aman (wss: protocol) sedang divalidasi. Tangani kejadian ini jika Anda ingin menerapkan validasi server kustom untuk koneksi.

// Register
event_token ServerCustomValidationRequested(TypedEventHandler<MessageWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;

// Revoke with event_token
void ServerCustomValidationRequested(event_token const* cookie) const;

// Revoke with event_revoker
MessageWebSocket::ServerCustomValidationRequested_revoker ServerCustomValidationRequested(auto_revoke_t, TypedEventHandler<MessageWebSocket, WebSocketServerCustomValidationRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<MessageWebSocket,WebSocketServerCustomValidationRequestedEventArgs> ServerCustomValidationRequested;
function onServerCustomValidationRequested(eventArgs) { /* Your code */ }
messageWebSocket.addEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
messageWebSocket.removeEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
- or -
messageWebSocket.onservercustomvalidationrequested = onServerCustomValidationRequested;
Public Custom Event ServerCustomValidationRequested As TypedEventHandler(Of MessageWebSocket, WebSocketServerCustomValidationRequestedEventArgs) 

Jenis Acara

Persyaratan Windows

Rangkaian perangkat
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)

Keterangan

Perhatikan bahwa peristiwa ini dinaikkan setelah validasi OS default berhasil dilakukan, dan validasi OS default termasuk mempertimbangkan opsi kontrol IgnorableServerCertificateErrors .

Gunakan properti WebSocketServerCustomValidationRequestedEventArgs untuk mengakses sertifikat server dan sertifikat perantara yang ditawarkan untuk validasi.

Untuk memastikan penyelesaian yang tepat, jika proses validasi kustom Anda melibatkan operasi asinkron apa pun, pastikan untuk menggunakan metode WebSocketServerCustomValidationRequestedEventArgs.GetDeferral untuk mendapatkan objek penangguhan yang dipegang oleh penanganan aktivitas Anda selama operasi validasi. Ketika validasi selesai, Anda harus memanggil Deferral.Complete apakah Anda menerima atau menolak validasi.

Sebagai contoh jenis validasi yang dapat Anda lakukan dalam penanganan aktivitas ini: Anda dapat membandingkan sertifikat server dengan sertifikat tepercaya yang disimpan secara lokal yang cocok dengan sertifikat server yang diharapkan. Di penanganan aktivitas, Anda akan membandingkan hash SHA-256 dari sertifikat lokal dengan hash sertifikat server. Jika nilai hash cocok, sertifikat diasumsikan cocok, dan validasi server harus berhasil. Jika nilai hash tidak cocok, sertifikat tidak cocok dan validasi akan gagal.

Untuk menunjukkan kegagalan validasi, panggil metode WebSocketServerCustomValidationRequestedEventArgs.Reject . Untuk menunjukkan keberhasilan validasi, cukup kembali dari penanganan aktivitas.

Perhatikan bahwa apakah validasi berhasil atau gagal, Anda harus memanggil Deferral.Complete pada objek deferral yang Anda peroleh saat memulai proses validasi.

Berlaku untuk