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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk