Fungsi CryptSIPGetSignedDataMsg (mssip.h)

Fungsi CryptSIPGetSignedDataMsg mengambil tanda tangan Authenticode dari file.

Sintaks

BOOL CryptSIPGetSignedDataMsg(
  [in]      SIP_SUBJECTINFO *pSubjectInfo,
  [out]     DWORD           *pdwEncodingType,
  [in]      DWORD           dwIndex,
  [in, out] DWORD           *pcbSignedDataMsg,
  [out]     BYTE            *pbSignedDataMsg
);

Parameter

[in] pSubjectInfo

Penunjuk ke struktur SIP_SUBJECTINFO yang berisi informasi tentang subjek pesan.

[out] pdwEncodingType

Jenis pengodean tanda tangan Authenticode.

Parameter ini bisa menjadi kombinasi dari satu atau beberapa nilai berikut.

Nilai Makna
PKCS_7_ASN_ENCODING
65536 (0x10000)
Menentukan pengodean pesan PKCS #7 .
X509_ASN_ENCODING
1 (0x1)
Menentukan pengodean sertifikat X.509 .

[in] dwIndex

Parameter ini dicadangkan dan harus diatur ke nol.

[in, out] pcbSignedDataMsg

Panjangnya, dalam byte, dari buffer yang diarahkan oleh parameter pbSignedDataMsg .

[out] pbSignedDataMsg

Penunjuk ke buffer untuk menerima tanda tangan Authenticode yang dikembalikan.

Untuk menentukan ukuran buffer yang diperlukan, atur parameter pbSignedDataMsg ke NULL dan panggil fungsi CryptSIPGetSignedDataMsg . Fungsi ini akan menempatkan ukuran buffer yang diperlukan, dalam byte, dalam nilai yang ditunjukkan oleh pcbSignedDataMsg. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan TRUE.

Jika fungsi gagal, fungsi akan mengembalikan FALSE. Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.

Menampilkan kode Deskripsi
CRYPT_E_NO_MATCH
Tanda tangan yang ditentukan oleh indeks tidak dapat ditemukan.
ERROR_BAD_FORMAT
Format data atau file yang ditentukan dari paket antarmuka subjek (SIP) tidak valid.
ERROR_INVALID_PARAMETER
Struktur [SIP_SUBJECTINFO](/windows/desktop/api/mssip/ns-mssip-sip_subjectinfo) adalah penunjuk null.
ERROR_INSUFFICIENT_BUFFER
Ukuran buffer pesan tidak cukup untuk menyimpan data yang diambil, parameter pcbSignedDataMsg telah diatur untuk menunjukkan ukuran buffer yang diperlukan.
TRUST_E_SUBJECT_FORM_UNKNOWN
Tipe subjek yang ditentukan tidak valid.

Keterangan

Subjek termasuk, tetapi tidak terbatas pada, gambar portabel yang dapat dieksekusi (.exe), gambar kabinet (.cab), file datar, dan file katalog. Setiap jenis subjek menggunakan subset data yang berbeda untuk perhitungan hash dan memerlukan prosedur yang berbeda untuk penyimpanan dan pengambilan. Oleh karena itu, setiap jenis subjek memiliki spesifikasi SIP yang unik.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header mssip.h
Pustaka Crypt32.lib
DLL Crypt32.dll

Lihat juga

CryptSIPPutSignedDataMsg

CryptSIPRemoveSignedDataMsg