estructura de WINTRUST_DATA (wintrust.h)

[La estructura WINTRUST_DATA está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.

La estructura WINTRUST_DATA se usa al llamar a WinVerifyTrust para pasar la información necesaria a los proveedores de confianza.

Sintaxis

typedef struct _WINTRUST_DATA {
  DWORD                               cbStruct;
  LPVOID                              pPolicyCallbackData;
  LPVOID                              pSIPClientData;
  DWORD                               dwUIChoice;
  DWORD                               fdwRevocationChecks;
  DWORD                               dwUnionChoice;
  union {
#if ...
    WINTRUST_FILE_INFO_                *pFile;
#else
    struct WINTRUST_FILE_INFO_         *pFile;
#endif
#if ...
    WINTRUST_CATALOG_INFO_             *pCatalog;
#else
    struct WINTRUST_CATALOG_INFO_      *pCatalog;
#endif
#if ...
    WINTRUST_BLOB_INFO_                *pBlob;
#else
    struct WINTRUST_BLOB_INFO_         *pBlob;
#endif
#if ...
    WINTRUST_SGNR_INFO_                *pSgnr;
#else
    struct WINTRUST_SGNR_INFO_         *pSgnr;
#endif
#if ...
    WINTRUST_CERT_INFO_                *pCert;
#else
    struct WINTRUST_CERT_INFO_         *pCert;
#endif
#if ...
    WINTRUST_DETACHED_SIG_INFO_        *pDetachedSig;
#else
    struct WINTRUST_DETACHED_SIG_INFO_ *pDetachedSig;
#endif
  };
  DWORD                               dwStateAction;
  HANDLE                              hWVTStateData;
  WCHAR                               *pwszURLReference;
  DWORD                               dwProvFlags;
  DWORD                               dwUIContext;
  struct WINTRUST_SIGNATURE_SETTINGS_ *pSignatureSettings;
} WINTRUST_DATA, *PWINTRUST_DATA;

Miembros

cbStruct

Tamaño, en bytes, de esta estructura.

pPolicyCallbackData

Puntero a un búfer de datos usado para pasar datos específicos de la directiva a un proveedor de directivas. Este miembro puede ser NULL.

pSIPClientData

Puntero a un búfer de datos usado para pasar datos específicos del paquete de interfaz de asunto (SIP) a un proveedor SIP. Este miembro puede ser NULL.

dwUIChoice

Especifica el tipo de interfaz de usuario que se va a usar. Este miembro debe ser uno de los siguientes valores.

Valor Significado
WTD_UI_ALL
1
Mostrar toda la interfaz de usuario.
WTD_UI_NONE
2
No se muestra ninguna interfaz de usuario.
WTD_UI_NOBAD
3
No muestre ninguna interfaz de usuario negativa.
WTD_UI_NOGOOD
4
No muestre ninguna interfaz de usuario positiva.

fdwRevocationChecks

Opciones de comprobación de revocación de certificados. Este miembro se puede establecer para agregar la comprobación de revocación a la realizada por el proveedor de directivas seleccionado. Este miembro debe ser uno de los siguientes valores.

Valor Significado
WTD_REVOKE_NONE
0
No se realizará ninguna comprobación de revocación adicional cuando se use la marca de WTD_REVOKE_NONE junto con el valor HTTPSPROV_ACTION establecido en el parámetro pgActionID de la función WinVerifyTrust . Para asegurarse de que la función WinVerifyTrust no intenta recuperar ninguna red al comprobar las firmas de código, WTD_CACHE_ONLY_URL_RETRIEVAL debe establecerse en el parámetro dwProvFlags .
WTD_REVOKE_WHOLECHAIN
1
La comprobación de revocación se realizará en toda la cadena.

dwUnionChoice

Especifica el miembro de unión que se va a usar y, por tanto, el tipo de objeto para el que se comprobará la confianza. Este miembro debe ser uno de los siguientes valores.

Valor Significado
WTD_CHOICE_FILE
1
Use el archivo al que apunta pFile.
WTD_CHOICE_CATALOG
2
Use el catálogo al que apunta pCatalog.
WTD_CHOICE_BLOB
3
Use el BLOB al que apunta pBlob.
WTD_CHOICE_SIGNER
4
Use la estructura [WINTRUST_SGNR_INFO](/windows/desktop/api/wintrust/ns-wintrust-wintrust_sgnr_info) a la que apunta pSgnr.
WTD_CHOICE_CERT
5
Use el certificado al que apunta pCert.

pFile

Puntero a una estructura de WINTRUST_FILE_INFO .

pCatalog

Puntero a una estructura de WINTRUST_CATALOG_INFO .

pBlob

Puntero a una estructura de WINTRUST_BLOB_INFO .

pSgnr

Puntero a una estructura de WINTRUST_SGNR_INFO .

pCert

Puntero a una estructura de WINTRUST_CERT_INFO .

pDetachedSig

dwStateAction

Especifica la acción que se va a realizar. Puede ser uno de los siguientes valores.

Valor Significado
WTD_STATEACTION_IGNORE
0x00000000
Omita el miembro hWVTStateData .
WTD_STATEACTION_VERIFY
0x00000001
Compruebe la confianza del objeto (normalmente un archivo) especificado por el miembro dwUnionChoice . El miembro hWVTStateData recibirá un identificador para los datos de estado. Este identificador debe liberarse especificando la acción WTD_STATEACTION_CLOSE en una llamada posterior.
WTD_STATEACTION_CLOSE
0x00000002
Libere el miembro hWVTStateData asignado previamente con la acción WTD_STATEACTION_VERIFY . Esta acción debe especificarse para cada uso de la acción WTD_STATEACTION_VERIFY .
WTD_STATEACTION_AUTO_CACHE
0x00000003
Escriba los datos del catálogo en una estructura de WINTRUST_DATA y, a continuación, almacene en caché esa estructura. Esta acción solo se aplica cuando el miembro dwUnionChoice contiene WTD_CHOICE_CATALOG.
WTD_STATEACTION_AUTO_CACHE_FLUSH
0x00000004
Vacíe los datos del catálogo almacenados en caché. Esta acción solo se aplica cuando el miembro dwUnionChoice contiene WTD_CHOICE_CATALOG.

hWVTStateData

Identificador de los datos de estado. El contenido de este miembro depende del valor del miembro dwStateAction .

pwszURLReference

Reservado para uso futuro. Se establece en NULL.

dwProvFlags

Valor DWORD que especifica la configuración del proveedor de confianza. Puede ser una combinación bit a bit de cero o más de los valores siguientes.

Valor Significado
WTD_USE_IE4_TRUST_FLAG
1 (0x1)
La confianza se comprueba de la misma manera que la implementada por Internet Explorer 4.0.
WTD_NO_IE4_CHAIN_FLAG
2 (0x2)
No se usa la funcionalidad de cadena de Internet Explorer 4.0.
WTD_NO_POLICY_USAGE_FLAG
4 (0x4)
No se realiza la comprobación predeterminada del proveedor de directivas, como la firma de código para Authenticode, y se asume que el certificado es válido para todos los usos.
WTD_REVOCATION_CHECK_NONE
16 (0x10)
No se realiza la comprobación de revocación.
WTD_REVOCATION_CHECK_END_CERT
32 (0x20)
La comprobación de revocación solo se realiza en el certificado final.
WTD_REVOCATION_CHECK_CHAIN
64 (0x40)
La comprobación de revocación se realiza en toda la cadena de certificados.
WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
128 (0x80)
La comprobación de revocación se realiza en toda la cadena de certificados, excepto el certificado raíz.
WTD_SAFER_FLAG
256 (0x100)
No compatible.
WTD_HASH_ONLY_FLAG
512 (0x200)
Solo se comprueba el hash.
WTD_USE_DEFAULT_OSVER_CHECK
1024 (0x400)
Se realiza la comprobación de la versión predeterminada del sistema operativo. Esta marca solo se usa para comprobar los archivos firmados por el catálogo.
WTD_LIFETIME_SIGNING_FLAG
2048 (0x800)
Si no se establece esta marca, todas las firmas con marca de tiempo se consideran válidas para siempre. Al establecer esta marca, se limita la duración válida de la firma a la duración del certificado de firma. Esto permite que las firmas con marca de tiempo expiren.
WTD_CACHE_ONLY_URL_RETRIEVAL
4096 (0x1000)
Use solo la memoria caché local para las comprobaciones de revocación. Impide las comprobaciones de revocación a través de la red.

Windows XP: Este valor no se admite.

WTD_DISABLE_MD2_MD4
8192 (0x2000)
Deshabilite el uso de algoritmos hash MD2 y MD4. Si un archivo está firmado con MD2 o MD4 y si se establece esta marca, se devuelve un error de NTE_BAD_ALGID.
Nota Esta marca se admite en Windows 7 con SP1 y sistemas operativos posteriores.
 
WTD_MOTW
16384 (0x4000)
Si se especifica esta marca, se supone que el archivo que se está comprobando se ha descargado de la web y tiene la marca del atributo Web. Se aplicarán directivas destinadas a aplicar a Mark de los archivos web.
Nota Esta marca se admite en Windows 8.1 y sistemas operativos posteriores o en sistemas que han instalado KB2862966.
 

dwUIContext

Valor DWORD que especifica el contexto de la interfaz de usuario para la función WinVerifyTrust . Esto hace que el texto del cuadro de diálogo Authenticode coincida con la acción realizada en el archivo. Puede ser uno de los siguientes valores.

Valor Significado
WTD_UICONTEXT_EXECUTE
0
Use al llamar a WinVerifyTrust para un archivo que se va a ejecutar. Este es el valor predeterminado.
WTD_UICONTEXT_INSTALL
1
Use al llamar a WinVerifyTrust para un archivo que se va a instalar.

pSignatureSettings

Puntero a una estructura de WINTRUST_SIGNATURE_SETTINGS .

Windows 8 y Windows Server 2012: comienza el soporte técnico para este miembro.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado wintrust.h