Fungsi CryptXmlSign (cryptxml.h)
Fungsi CryptXmlSign membuat tanda tangan kriptografi dari elemen SignedInfo .
Sintaks
HRESULT CryptXmlSign(
[in] HCRYPTXML hSignature,
[in, optional] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hKey,
DWORD dwKeySpec,
DWORD dwFlags,
CRYPT_XML_KEYINFO_SPEC dwKeyInfoSpec,
[in, optional] const void *pvKeyInfoSpec,
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] const CRYPT_XML_ALGORITHM *pCanonicalization
);
Parameter
[in] hSignature
Handel ke struktur CRYPT_XML_SIGNATURE .
[in, optional] hKey
Handel kunci privat yang digunakan untuk menandatangani elemen SignedInfo . Parameter ini harus NULL untuk algoritma tanda tangan berbasis HMAC.
dwKeySpec
Nilai DWORD yang menentukan jenis kunci. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Pasangan kunci adalah pasangan pertukaran kunci. |
|
Pasangan kunci adalah pasangan tanda tangan. |
|
Kuncinya adalah API Kriptografi: Kunci Generasi Berikutnya (CNG). |
dwFlags
Nilai DWORD yang mengontrol bagaimana data ditandatangani. Parameter ini bisa menjadi salah satu nilai berikut.
dwKeyInfoSpec
Jenis struktur data yang diarahkan oleh parameter pvKeyInfoSpec . Berikut adalah beberapa kemungkinan kombinasi.
dwKeyInfec | pvKeyInfoSpec |
---|---|
CRYPT_XML_KEYINFO_SPEC_NONE | Diatur ke NULL |
CRYPT_XML_KEYINFO_SPEC_ENCODED | Menunjuk ke struktur CRYPT_XML_BLOB |
CRYPT_XML_KEYINFO_SPEC_PARAM | Menunjuk ke struktur CRYPT_XML_KEYINFO_PARAM |
[in, optional] pvKeyInfoSpec
Penunjuk ke struktur, yang jenisnya ditentukan oleh nilai parameter dwKeyInfoSpec .
[in] pSignatureMethod
Penunjuk ke struktur CRYPT_XML_ALGORITHM yang menentukan metode tanda tangan.
[in] pCanonicalization
Penunjuk ke struktur CRYPT_XML_ALGORITHM yang menentukan metode kanonisisasi.
Nilai kembali
Jika fungsi berhasil, fungsi mengembalikan nol.
Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan.
Keterangan
Jika sertifikat tidak dapat ditemukan, CryptXmlSign akan membuat UI untuk pemilihan sertifikat. Jika jendela ini dihasilkan dari proses yang berjalan di sesi 0, aplikasi mungkin tiba-tiba berakhir.
Persyaratan
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | cryptxml.h |
Pustaka | Cryptxml.lib |
DLL | Cryptxml.dll |