Compartir a través de


SignerTimeStampEx3 (función)

La función SignerTimeStampEx3 marca el asunto especificado y admite la configuración de marcas de tiempo en varias firmas.

Nota

Esta función no tiene ningún archivo de encabezado asociado ni biblioteca de importación. Para llamar a esta función, debe crear un archivo de encabezado definido por el usuario y usar las funciones LoadLibrary y GetProcAddress para vincular dinámicamente a Mssign32.dll.

 

Sintaxis

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

Parámetros

dwFlags [in]

Marca que especifica el tipo de marca de tiempo que se va a generar. Este parámetro puede ser uno de los valores siguientes. Los valores son mutuamente excluyentes.

Valor Significado
SIGNER_TIMESTAMP_AUTHENTICODE
Especifica una marca de tiempo Authenticode.
Nota: Authenticode ya no es el tipo preferido de marca de tiempo. La compatibilidad con las marcas de tiempo authenticode se puede quitar en el futuro. Se recomienda usar RFC 3161 en su lugar.
SIGNER_TIMESTAMP_RFC3161
Especifica una marca de tiempo compatible con RFC 3161.

 

dwIndex [in]

Especifica el número de secuencia de la firma a la que se agregará la marca de tiempo. Si este valor es cero (0), la firma externa será marca de tiempo.

pSubjectInfo [in]

Dirección de una estructura de SIGNER_SUBJECT_INFO que representa el sujeto al que se va a marcar la hora.

pwszHttpTimeStamp [in]

Dirección de una cadena Unicode terminada en null que contiene la dirección URL de un servidor de marca de tiempo.

pszAlgorithmOid [in]

Algoritmo hash que se va a usar para realizar marcas de tiempo compatibles con RFC 3161. Este parámetro se omite para las marcas de tiempo authenticode.

psRequest [in, optional]

Opcional. Dirección de una estructura de CRYPT_ATTRIBUTES que contiene atributos adicionales que se agregan a la solicitud de marca de tiempo.

Este parámetro es opcional y puede ser NULL si no está incluido.

pSipData [in, optional]

Opcional. Valor de 32 bits que se pasa como datos adicionales a las funciones del paquete de interfaz de asunto (SIP). El proveedor SIP define el formato y el contenido de este parámetro.

Este parámetro es opcional y puede ser NULL si no está incluido.

ppSignerContext [out]

Opcional. Dirección de un puntero a la estructura SIGNER_CONTEXT que contiene el BLOB firmado. Cuando haya terminado de usar la estructura de SIGNER_CONTEXT , ábrela llamando a la función SignerFreeSignerContext .

pCryptoPolicy [in, opcional]

Si está presente, un puntero a una estructura de CERT_STRONG_SIGN_PARA que contiene los parámetros usados para comprobar si hay firmas seguras. La marca de tiempo debe pasar esta directiva criptográfica.

pReserved

Reservado. Este valor debe ser NULL.

Valor devuelto

Si la función se realiza correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los posibles códigos de error devueltos por esta función se incluyen, entre otros, los siguientes. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código devuelto Descripción
E_INVALIDARG
Este error se puede devolver para las siguientes condiciones:
  • Debe establecer SIGNER_TIMESTAMP_AUTHENTICODE o SIGNER_TIMESTAMP_RFC3161 para el parámetro dwFlags .
  • El parámetro pReserved debe ser NULL.
  • Si establece la marca SIGNER_TIMESTAMP_AUTHENTICODE en el parámetro dwFlags , debe establecer el parámetro dwIndex en cero.

 

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2012 [solo aplicaciones de escritorio]
Archivo DLL
Mssign32.dll

Consulte también

SignerTimeStamp

SignerTimeStampEx

SignerTimeStampEx2