Condividi tramite


Funzione SignerSignEx

La funzione SignerSignEx firma il file specificato e restituisce un puntatore ai dati firmati.

Nota

Questa funzione non ha un file di intestazione o una libreria di importazione associata. Per chiamare questa funzione, è necessario creare un file di intestazione definito dall'utente e usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Mssign32.dll.

 

Sintassi

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
);

Parametri

dwFlags [in]

Modifica il comportamento di questa funzione.

Se il file da firmare è un file eseguibile portabile (PE), può essere zero o una combinazione di uno o più dei valori seguenti. Questi identificatori sono definiti in Mssip.h.

Valore Significato
SPC_EXC_PE_PAGE_HASHES_FLAG
0x10
Escludere gli hash di pagina durante la creazione di dati indiretti SIP per il file PE. Questo flag ha la precedenza sul flag SPC_INC_PE_PAGE_HASHES_FLAG .
Se non viene specificato né il SPC_EXC_PE_PAGE_HASHES_FLAG né il flag SPC_INC_PE_PAGE_HASHES_FLAG , per questa impostazione viene usato il valore impostato con la funzione WintrustSetDefaultIncludePEPageHashes . L'impostazione predefinita per questa impostazione consiste nell'escludere gli hash di pagina durante la creazione di dati indiretti SIP per i file PE.
Windows Server 2003 e Windows XP: Questo valore non è supportato.
SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG
0x20
Questo valore non è supportato.
SPC_INC_PE_DEBUG_INFO_FLAG
0x40
Questo valore non è supportato.
SPC_INC_PE_RESOURCES_FLAG
0x80
Questo valore non è supportato.
SPC_INC_PE_PAGE_HASHES_FLAG
0x100
Includi hash di pagina durante la creazione di dati indiretti SIP per il file PE.
Windows Server 2003 e Windows XP: Questo valore non è supportato.

 

pSubjectInfo [in]

Puntatore a una struttura SIGNER_SUBJECT_INFO che specifica l'oggetto da firmare.

pSignerCert [in]

Puntatore a una struttura di SIGNER_CERT che specifica il certificato da usare per creare la firma digitale.

pSignatureInfo [in]

Puntatore a una struttura di SIGNER_SIGNATURE_INFO che contiene informazioni sulla firma digitale.

pProviderInfo [in, facoltativo]

Puntatore a una struttura SIGNER_PROVIDER_INFO che specifica il provider di servizi di crittografia (CSP) e le informazioni sulla chiave privata usate per creare la firma digitale.

Se il valore di questo parametro è NULL, il valore del parametro pSignerCert deve specificare un certificato associato a un CSP.

pwszHttpTimeStamp [in, facoltativo]

URL di un server timestamp.

psRequest [in, facoltativo]

Puntatore a una matrice di strutture CRYPT_ATTRIBUTE aggiunte a una richiesta di firma. Questo parametro viene ignorato se il parametro pwszHttpTimeStamp non contiene un valore valido diverso da NULL.

pSipData [in, facoltativo]

Valore a 32 bit passato come dati aggiuntivi alle funzioni SIP. Il formato e il contenuto di questo oggetto sono definiti dal provider SIP.

ppSignerContext [out]

Indirizzo di un puntatore alla struttura SIGNER_CONTEXT che contiene il BLOB firmato. Al termine dell'uso della struttura SIGNER_CONTEXT , liberare la struttura SIGNER_CONTEXT chiamando la funzione SignerFreeSignerContext .

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce S_OK.

Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
DLL
Mssign32.dll

Vedi anche

SignerSign

SignerFreeSignerContext