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.

Sintaks

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.

Nilai kembali

Jenis: HRESULT

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

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

Keterangan

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

Panggil metode ini hanya jika Anda mengimplementasikan antarmuka IBackgroundCopyServerCertificateValidationCallback .

Antarmuka validasi menjadi tidak valid ketika aplikasi Anda dihentikan; 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 aplikasi memanggil SetServerCertificateValidationInterface untuk mengatur antarmuka pemberitahuan untuk pekerjaan tersebut, aplikasi terakhir yang memanggilnya 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 bisa 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 melanjutkan pekerjaan.

Persyaratan

Persyaratan 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