Compartir a través de


SignerSignEx (función)

La función SignerSignEx firma el archivo especificado y devuelve un puntero a los datos firmados.

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

Parámetros

dwFlags [in]

Modifica el comportamiento de esta función.

Si el archivo que se va a firmar es un archivo ejecutable portátil (PE), puede ser cero o una combinación de uno o varios de los valores siguientes. Estos identificadores se definen en Mssip.h.

Valor Significado
SPC_EXC_PE_PAGE_HASHES_FLAG
0x10
Excluya los hashes de página al crear datos indirectos SIP para el archivo PE. Esta marca tiene prioridad sobre la marca de SPC_INC_PE_PAGE_HASHES_FLAG .
Si no se especifica ni el SPC_EXC_PE_PAGE_HASHES_FLAG ni la marca SPC_INC_PE_PAGE_HASHES_FLAG , el valor establecido con la función WintrustSetDefaultIncludePEPageHashes se usa para esta configuración. El valor predeterminado para esta configuración es excluir hashes de página al crear datos indirectos SIP para archivos PE.
Windows Server 2003 y Windows XP: Este valor no se admite.
SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG
0x20
Este valor no se admite.
SPC_INC_PE_DEBUG_INFO_FLAG
0x40
Este valor no se admite.
SPC_INC_PE_RESOURCES_FLAG
0x80
Este valor no se admite.
SPC_INC_PE_PAGE_HASHES_FLAG
0x100
Incluya hashes de página al crear datos indirectos SIP para el archivo PE.
Windows Server 2003 y Windows XP: Este valor no se admite.

 

pSubjectInfo [in]

Puntero a una estructura de SIGNER_SUBJECT_INFO que especifica el sujeto al signo.

pSignerCert [in]

Puntero a una estructura de SIGNER_CERT que especifica el certificado que se va a usar para crear la firma digital.

pSignatureInfo [in]

Puntero a una estructura SIGNER_SIGNATURE_INFO que contiene información sobre la firma digital.

pProviderInfo [in, optional]

Puntero a una estructura de SIGNER_PROVIDER_INFO que especifica el proveedor de servicios criptográficos (CSP) y la información de clave privada usada para crear la firma digital.

Si el valor de este parámetro es NULL, el valor del parámetro pSignerCert debe especificar un certificado asociado a un CSP.

pwszHttpTimeStamp [in, optional]

Dirección URL de un servidor de marca de tiempo.

psRequest [in, optional]

Puntero a una matriz de estructuras de CRYPT_ATTRIBUTE que se agregan a una solicitud de firma. Este parámetro se omite si el parámetro pwszHttpTimeStamp no contiene un valor válido que no sea NULL.

pSipData [in, optional]

Valor de 32 bits que se pasa como datos adicionales a funciones SIP. El formato y el contenido de esto se definen mediante el proveedor SIP.

ppSignerContext [out]

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

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. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Requisitos

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

Consulte también

SignerSign

SignerFreeSignerContext