Memverifikasi Pesan yang Ditandatangani dengan Menggunakan CTL
Salah satu keuntungan menggunakan daftar kepercayaan sertifikat (CTL) adalah bahwa aplikasi dapat dirancang yang dapat secara otomatis memverifikasi pesan yang ditandatangani terhadap sertifikat tepercaya tanpa mengganggu pengguna dengan kotak dialog. Ini juga memberikan sumber kontrol administrator jaringan untuk dipercaya.
Prosedur berikut dapat digunakan untuk memverifikasi tanda tangan pesan yang ditandatangani dengan menggunakan CTL.
Untuk memverifikasi pesan yang ditandatangani dengan menggunakan CTL
Dekodekan pesan sebagai berikut:
- Dapatkan penunjuk ke pesan yang diterima ( BLOB yang dikodekan).
- Panggil CryptMsgOpenToDecode, melewati argumen yang diperlukan.
- Panggil CryptMsgUpdate sekali, meneruskan handel yang diambil di langkah b dan penunjuk ke data yang akan didekode. Ini menyebabkan tindakan yang sesuai diambil pada pesan, tergantung pada jenis pesan.
Verifikasi tanda tangan pesan yang didekodekan, ditandatangani, dan dapatkan penunjuk ke CERT_CONTEXT penanda tangan.
Ini dapat dilakukan dengan memanggil CryptMsgGetAndVerifySigner, meneruskan handel pesan yang diambil pada langkah 1c sebagai parameter hCryptMsg . Jika panggilan fungsi mengembalikan TRUE, tanda tangan diverifikasi, dan penunjuk ke PCCERT_CONTEXT penanda tangan dikembalikan dalam parameter ppSigner .
Konfirmasikan bahwa penanda tangan adalah sumber tepercaya sebagai berikut:
- Buka penyimpanan sertifikat yang berisi CTL yang sesuai.
- Dapatkan pointer ke CTL_CONTEXT dengan memanggil CertFindCTLInStore.
- Untuk mengonfirmasi bahwa penanda tangan adalah sumber tepercaya, panggil CertFindSubjectInCTL, meneruskan penunjuk yang diambil pada langkah sebelumnya dalam parameter pCtlContext , CTL_CERT_SUBJECT_TYPE dalam parameter dwSubjectType , dan penunjuk ke CERT_CONTEXT diambil pada langkah 2 dalam parameter pvSubject . Jika panggilan fungsi mengembalikan TRUE, CERT_CONTEXT yang diteruskan ke fungsi adalah sumber tepercaya dalam CTL.