Bagikan melalui


Prosedur untuk Penandatanganan Data

Satu fungsi, CryptSignMessage, melaksanakan semua tugas yang disebutkan dalam Membuat Pesan yang Ditandatangani. Namun, inisialisasi struktur dan data lainnya masih diperlukan. Ilustrasi berikut menunjukkan hubungan antara parameter fungsi yang menunjuk ke struktur atau array dan data yang diinisialisasi. Ilustrasi hanya menunjukkan parameter fungsi dan anggota struktur yang berasal dari struktur atau fungsi lain. Parameter lainnya adalah inisialisasi langsung.

peta inisialisasi untuk panggilan ke cryptsignmessage

Untuk menandatangani data menggunakan CryptSignMessage

  1. Dapatkan penunjuk ke data yang akan ditandatangani.
  2. Tetapkan pointer ke data pada indeks nol dari array "data yang akan ditandatangani".
  3. Dapatkan akses ke penyedia kriptografi.
  4. Buka penyimpanan sertifikat yang berisi sertifikat penanda tangan.
  5. Dapatkan alamat dari sertifikat penanda tangan.
  6. Tetapkan alamat sertifikat ke indeks nol array MsgCert.
  7. Tentukan alamat dari sertifikat lain mana pun yang akan disertakan dengan pesan ke array MsgCert.
  8. Menginisialisasi struktur CRYPT_ALGORITHM_IDENTIFIER, menginisialisasi anggota pszObjId ke algoritma hash yang diinginkan dan anggota lainnya yang sesuai.
  9. Menginisialisasi struktur CRYPT_SIGN_MESSAGE_PARA, menginisialisasi anggota pSigningCert ke alamat sertifikat penanda tangan, anggota array MsgCert ke alamat penanda tangan dan sertifikat lainnya, anggota HashAlgorithm ke alamat struktur CRYPT_ALGORITHM_IDENTIFIER, dan anggota lain sebagaimana mewajarkan.
  10. Panggil fungsiCryptSignMessage, meneruskan struktur CRYPT_SIGN_MESSAGE_PARA untuk parameter pSignPara, alamat array "data yang akan ditandatangani" untuk parameter rgpbToBeSigned, alamat untuk parameter output pbSignedBlob, dan nilai untuk parameter lain yang sesuai.