Bagikan melalui


Metode IBackgroundCopyJobHttpOptions3::SetServerCertificateValidationInterface (bits10_3.h)

Sertifikat server dikirim ketika koneksi HTTPS dibuka. Gunakan metode ini untuk mengatur panggilan balik yang akan dipanggil untuk memvalidasi sertifikat server tersebut.

Sintaksis

HRESULT SetServerCertificateValidationInterface(
  IUnknown *certValidationCallback
);

Parameter

certValidationCallback

Jenis: IUnknown*

Penunjuk ke objek yang mengimplementasikan IBackgroundCopyServerCertificateValidationCallback. Untuk menghapus penunjuk antarmuka panggilan balik saat ini, atur parameter ini ke nullptr.

Mengembalikan nilai

Jenis: HRESULT

Jika fungsi berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahanHRESULT .

Mengembalikan nilai Deskripsi
E_NOINTERFACE Anda meneruskan penunjuk antarmuka yang tidak dapat dikueri untuk IBackgroundCopyServerCertificateValidationCallback.
BG_E_READ_ONLY_WHEN_JOB_ACTIVE Status pekerjaan harus DIJEDA untuk mengatur panggilan balik.

Komentar

Gunakan metode ini ketika Anda ingin melakukan pemeriksaan Anda sendiri pada sertifikat server.

Panggil metode ini hanya jika Anda menerapkan antarmuka IBackgroundCopyServerCertificateValidationCallback.

Antarmuka validasi menjadi tidak valid ketika aplikasi Anda berakhir; BITS tidak mempertahankan catatan antarmuka validasi. Akibatnya, proses inisialisasi aplikasi Anda harus memanggil SetServerCertificateValidationInterface pada pekerjaan yang ada yang ingin Anda terima permintaan validasi sertifikatnya.

Jika lebih dari satu panggilan aplikasi SetServerCertificateValidationInterface untuk mengatur antarmuka pemberitahuan untuk pekerjaan tersebut, aplikasi terakhir yang menyebutnya adalah aplikasi yang akan menerima pemberitahuan. Aplikasi lain tidak akan menerima pemberitahuan.

Jika ada kesalahan sertifikat yang ditemukan selama validasi OS sertifikat, maka koneksi dibatalkan, dan panggilan balik kustom tidak pernah dipanggil. Anda dapat mengkustomisasi logika validasi OS dengan panggilan ke IBackgroundCopyJobHttpOptions::SetSecurityFlags. Misalnya, Anda dapat mengabaikan kesalahan validasi sertifikat yang diharapkan.

Jika validasi OS lolos, maka metode IBackgroundCopyServerCertificateValidationCallback::ValidateServerCertificate dipanggil sebelum menyelesaikan jabat tangan TLS dan sebelum permintaan HTTP dikirim.

Jika metode validasi Anda menolak sertifikat, pekerjaan akan beralih ke BG_JOB_STATE_TRANSIENT_ERROR dengan konteks kesalahan pekerjaan BG_ERROR_CONTEXT_SERVER_CERTIFICATE_CALLBACK dan kesalahan HRESULT dari panggilan balik Anda. Jika panggilan balik Anda tidak dapat dipanggil (misalnya, karena BITS perlu memvalidasi sertifikat server setelah program Anda keluar), kode kesalahan pekerjaan akan BG_E_SERVER_CERT_VALIDATION_INTERFACE_REQUIRED. Ketika aplikasi Anda dijalankan berikutnya, aplikasi dapat memperbaiki kesalahan ini dengan mengatur panggilan balik validasi lagi dan meneruskan pekerjaan.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 10, versi 1809 [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2016 [hanya aplikasi desktop]
Header bits10_3.h (termasuk Bits.h)
Pustaka Bits.lib
DLL Bits.dll

Lihat juga

IBackgroundCopyServerCertificateValidationCallback