Fungsi SignerSignEx

Fungsi SignerSignEx menandatangani file yang ditentukan dan mengembalikan penunjuk ke data yang ditandatangani.

Catatan

Fungsi ini tidak memiliki file header atau pustaka impor terkait. Untuk memanggil fungsi ini, Anda harus membuat file header yang ditentukan pengguna dan menggunakan fungsi LoadLibrary dan GetProcAddress untuk menautkan secara dinamis ke Mssign32.dll.

 

Sintaks

HRESULT WINAPI SignerSignEx(
  _In_     DWORD                 dwFlags,
  _In_     SIGNER_SUBJECT_INFO   *pSubjectInfo,
  _In_     SIGNER_CERT           *pSignerCert,
  _In_     SIGNER_SIGNATURE_INFO *pSignatureInfo,
  _In_opt_ SIGNER_PROVIDER_INFO  *pProviderInfo,
  _In_opt_ LPCWSTR               pwszHttpTimeStamp,
  _In_opt_ PCRYPT_ATTRIBUTES     psRequest,
  _In_opt_ LPVOID                pSipData,
  _Out_    SIGNER_CONTEXT        **ppSignerContext
);

Parameter

dwFlags [in]

Memodifikasi perilaku fungsi ini.

Jika file yang akan ditandatangani adalah file portable executable (PE), ini bisa menjadi nol atau kombinasi dari satu atau beberapa nilai berikut. Pengidentifikasi ini didefinisikan dalam Mssip.h.

Nilai Makna
SPC_EXC_PE_PAGE_HASHES_FLAG
0x10
Kecualikan hash halaman saat membuat data tidak langsung SIP untuk file PE. Bendera ini lebih diutamakan daripada bendera SPC_INC_PE_PAGE_HASHES_FLAG .
Jika bendera SPC_EXC_PE_PAGE_HASHES_FLAG atau SPC_INC_PE_PAGE_HASHES_FLAG tidak ditentukan, nilai yang ditetapkan dengan fungsi WintrustSetDefaultIncludePEPageHashes digunakan untuk pengaturan ini. Default untuk pengaturan ini adalah mengecualikan hash halaman saat membuat data tidak langsung SIP untuk file PE.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG
0x20
Nilai ini tidak didukung.
SPC_INC_PE_DEBUG_INFO_FLAG
0x40
Nilai ini tidak didukung.
SPC_INC_PE_RESOURCES_FLAG
0x80
Nilai ini tidak didukung.
SPC_INC_PE_PAGE_HASHES_FLAG
0x100
Sertakan hash halaman saat membuat data tidak langsung SIP untuk file PE.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

 

pSubjectInfo [in]

Penunjuk ke struktur SIGNER_SUBJECT_INFO yang menentukan subjek untuk ditandatangani.

pSignerCert [in]

Penunjuk ke struktur SIGNER_CERT yang menentukan sertifikat yang akan digunakan untuk membuat tanda tangan digital.

pSignatureInfo [in]

Penunjuk ke struktur SIGNER_SIGNATURE_INFO yang berisi informasi tentang tanda tangan digital.

pProviderInfo [dalam, opsional]

Penunjuk ke struktur SIGNER_PROVIDER_INFO yang menentukan penyedia layanan kriptografi (CSP) dan informasi kunci privat yang digunakan untuk membuat tanda tangan digital.

Jika nilai parameter ini adalah NULL, nilai parameter pSignerCert harus menentukan sertifikat yang terkait dengan CSP.

pwszHttpTimeStamp [in, opsional]

URL server stempel waktu.

psRequest [in, opsional]

Penunjuk ke array struktur CRYPT_ATTRIBUTE yang ditambahkan ke permintaan tanda tangan. Parameter ini diabaikan jika parameter pwszHttpTimeStamp tidak berisi nilai valid yang bukan NULL.

pSipData [dalam, opsional]

Nilai 32-bit yang diteruskan sebagai data tambahan ke fungsi SIP. Format dan konten ini ditentukan oleh penyedia SIP.

ppSignerContext [out]

Alamat penunjuk ke struktur SIGNER_CONTEXT yang berisi BLOB yang ditandatangani. Setelah Anda selesai menggunakan struktur SIGNER_CONTEXT , bebaskan struktur SIGNER_CONTEXT dengan memanggil fungsi SignerFreeSignerContext .

Nilai kembali

Jika fungsi berhasil, fungsi akan mengembalikan S_OK.

Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
DLL
Mssign32.dll

Lihat juga

SignerSign

SignerFreeSignerContext