Funzione SignerTimeStampEx3

La funzione SignerTimeStampEx3 contrassegna l'oggetto specificato e supporta l'impostazione dei timestamp su più firme.

Nota

Questa funzione non ha alcun file di intestazione associato o una libreria di importazione. 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 SignerTimeStampEx3(
  _In_       DWORD                  dwFlags,
  _In_       DWORD                  dwIndex,
  _In_       SIGNER_SUBJECT_INFO    *pSubjectInfo,
  _In_       PCWSTR                 pwszHttpTimeStamp,
  _In_       PCWSTR                 pszAlgorithmOid,
  _In_opt_   PCRYPT_ATTRIBUTES      psRequest,
  _In_opt_   PVOID                  pSipData,
  _Out_      SIGNER_CONTEXT         **ppSignerContext,
  _In_opt_   PCERT_STRONG_SIGN_PARA pCryptoPolicy,
  _Reserved_ PVOID                  pReserved
);

Parametri

dwFlags [in]

Flag che specifica il tipo di timestamp da generare. Questo parametro può avere uno dei valori seguenti. I valori sono reciprocamente esclusivi.

valore Significato
SIGNER_TIMESTAMP_AUTHENTICODE
Specifica un timestamp Authenticode.
Nota: Authenticode non è più il tipo preferito di timestamp. Il supporto per i timestamp Authenticode può essere rimosso in futuro. È consigliabile usare invece RFC 3161.
SIGNER_TIMESTAMP_RFC3161
Specifica un timestamp conforme a RFC 3161.

 

dwIndex [in]

Specifica il numero di sequenza della firma a cui verrà aggiunto il timestamp. Se questo valore è zero (0), la firma esterna verrà contrassegnata come timestamp.

pSubjectInfo [in]

Indirizzo di una struttura SIGNER_SUBJECT_INFO che rappresenta l'oggetto da specificare.

pwszHttpTimeStamp [in]

Indirizzo di una stringa Unicode con terminazione null contenente l'URL di un server timestamp.

pszAlgorithmOid [in]

Algoritmo hash da usare per l'esecuzione di timestamp conformi a RFC 3161. Questo parametro viene ignorato per i timestamp Authenticode.

psRequest [in, facoltativo]

facoltativo. Indirizzo di una struttura CRYPT_ATTRIBUTES che contiene attributi aggiuntivi aggiunti alla richiesta di timestamp.

Questo parametro è facoltativo e può essere NULL se non è incluso.

pSipData [in, facoltativo]

facoltativo. Valore a 32 bit passato come dati aggiuntivi alle funzioni SIP ( Subject Interface Package ). Il formato e il contenuto di questo parametro sono definiti dal provider SIP.

Questo parametro è facoltativo e può essere NULL se non è incluso.

ppSignerContext [out]

facoltativo. Indirizzo di un puntatore alla struttura SIGNER_CONTEXT contenente il BLOB firmato. Al termine dell'uso della struttura SIGNER_CONTEXT , liberarla chiamando la funzione SignerFreeSignerContext .

pCryptoPolicy [in, facoltativo]

Se presente, un puntatore a una struttura CERT_STRONG_SIGN_PARA che contiene i parametri usati per verificare la presenza di firme complesse. Il timestamp deve passare questo criterio crittografico.

Conservato

Riservato. Questo valore deve essere NULL.

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. I codici di errore possibili restituiti da questa funzione includono, ma non sono limitati ai seguenti. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

Codice restituito Descrizione
E_INVALIDARG
Questo errore può essere restituito per le condizioni seguenti:
  • È necessario impostare SIGNER_TIMESTAMP_AUTHENTICODE o SIGNER_TIMESTAMP_RFC3161 per il parametro dwFlags .
  • Il parametro pReserved deve essere NULL.
  • Se si imposta il flag di SIGNER_TIMESTAMP_AUTHENTICODE nel parametro dwFlags , è necessario impostare il parametro dwIndex su zero.

 

Requisiti

Requisito valore
Client minimo supportato
Windows 8 [solo app desktop]
Server minimo supportato
Windows Server 2012 [solo app desktop]
DLL
Mssign32.dll

Vedi anche

SignerTimeStamp

SignerTimeStampEx

SignerTimeStampEx2