Pendekodean Data yang Ditandatangani
Proses umum berikut mendekode jenis data yang ditandatangani .
Untuk mendekode pesan yang ditandatangani
- Dapatkan pointer ke BLOB yang dikodekan.
- Panggil CryptMsgOpenToDecode, melewati argumen yang diperlukan.
- Panggil CryptMsgUpdate sekali, meneruskan handel yang diambil di langkah 2 dan penunjuk ke data yang akan didekode. Ini menyebabkan tindakan yang sesuai diambil pada pesan, tergantung pada jenis pesan.
- Panggil CryptMsgGetParam, meneruskan handel yang diambil di langkah 2 dan jenis parameter yang sesuai untuk mengakses data yang didekodekan. Misalnya, teruskan CMSG_CONTENT_PARAM untuk mendapatkan penunjuk ke konten yang didekodekan.
Proses umum berikut memverifikasi tanda tangan pesan yang didekodekan dan ditandatangani.
Untuk memverifikasi tanda tangan pesan yang didekodekan dan ditandatangani
- Panggil CryptMsgGetParam, meneruskan handel pesan dan CMSG_SIGNER_CERT_INFO_PARAM untuk mendapatkan CERT_INFO penanda tangan dari pesan.
- Panggil CertOpenStore untuk membuka penyimpanan sementara yang diinisialisasi dengan sertifikat dari pesan.
- Panggil CertGetSubjectCertificateFromStore untuk mendapatkan CERT_INFO penanda tangan dari sertifikat yang disertakan dalam pesan.
- Panggil CryptMsgControl, meneruskan CMSG_CTRL_VERIFY_SIGNATURE untuk memverifikasi tanda tangan.
- Panggil CryptMsgClose untuk menutup pesan.
Hasil dari prosedur ini adalah bahwa tanda tangan diverifikasi dan penunjuk diambil ke konten pesan yang didekodekan yang diperoleh pada langkah 4 prosedur untuk mendekode pesan yang ditandatangani.
Untuk detail pengodean C, lihat Contoh Program C: Menandatangani, Mengodekan, Mendekode, dan Memverifikasi Pesan.