Función CryptSIPGetSignedDataMsg (mssip.h)

La función CryptSIPGetSignedDataMsg recupera una firma Authenticode del archivo.

Sintaxis

BOOL CryptSIPGetSignedDataMsg(
  [in]      SIP_SUBJECTINFO *pSubjectInfo,
  [out]     DWORD           *pdwEncodingType,
  [in]      DWORD           dwIndex,
  [in, out] DWORD           *pcbSignedDataMsg,
  [out]     BYTE            *pbSignedDataMsg
);

Parámetros

[in] pSubjectInfo

Puntero a una estructura de SIP_SUBJECTINFO que contiene información sobre el asunto del mensaje.

[out] pdwEncodingType

Tipo de codificación de la firma Authenticode.

Este parámetro puede ser una combinación de uno o varios de los valores siguientes.

Valor Significado
PKCS_7_ASN_ENCODING
65536 (0x10000)
Especifica la codificación de mensajes PKCS #7 .
X509_ASN_ENCODING
1 (0x1)
Especifica la codificación de certificados X.509 .

[in] dwIndex

Este parámetro está reservado y debe establecerse en cero.

[in, out] pcbSignedDataMsg

Longitud, en bytes, del búfer al que apunta el parámetro pbSignedDataMsg .

[out] pbSignedDataMsg

Puntero a un búfer para recibir la firma Authenticode devuelta.

Para determinar el tamaño del búfer necesario, establezca el parámetro pbSignedDataMsg en NULL y llame a la función CryptSIPGetSignedDataMsg . Esta función colocará el tamaño necesario del búfer, en bytes, en el valor al que apunta pcbSignedDataMsg. Para obtener más información, vea Recuperar datos de longitud desconocida.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve TRUE.

Si se produce un error en la función, devuelve FALSE. Para obtener información de error extendida, llame a GetLastError. Siguen algunos códigos de error posibles.

Código devuelto Descripción
CRYPT_E_NO_MATCH
No se encontró la firma especificada por el índice.
ERROR_BAD_FORMAT
El formato de archivo o datos especificados del paquete de interfaz de asunto (SIP) no es válido.
ERROR_INVALID_PARAMETER
La estructura [SIP_SUBJECTINFO](/windows/desktop/api/mssip/ns-mssip-sip_subjectinfo) es un puntero nulo.
ERROR_INSUFFICIENT_BUFFER
El tamaño del búfer de mensajes no era suficiente para contener los datos recuperados, el parámetro pcbSignedDataMsg se ha establecido para indicar el tamaño de búfer necesario.
TRUST_E_SUBJECT_FORM_UNKNOWN
El tipo de sujeto especificado no es válido.

Comentarios

Entre los temas se incluyen, entre otros, imágenes ejecutables portátiles (.exe), imágenes de gabinete (.cab), archivos planos y archivos de catálogo. Cada tipo de sujeto usa un subconjunto diferente de sus datos para el cálculo hash y requiere un procedimiento diferente para el almacenamiento y la recuperación. Por lo tanto, cada tipo de sujeto tiene una especificación SIP única.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mssip.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptSIPPutSignedDataMsg

CryptSIPRemoveSignedDataMsg