Compartilhar via


Função SignerSignEx

A função SignerSignEx assina o arquivo especificado e retorna um ponteiro para os dados assinados.

Observação

Essa função não tem nenhum arquivo de cabeçalho associado ou biblioteca de importação. Para chamar essa função, você deve criar um arquivo de cabeçalho definido pelo usuário e usar as funções LoadLibrary e GetProcAddress para vincular dinamicamente a Mssign32.dll.

 

Sintaxe

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 o comportamento dessa função.

Se o arquivo a ser assinado for um arquivo PE (executável portátil), isso poderá ser zero ou uma combinação de um ou mais dos valores a seguir. Esses identificadores são definidos em Mssip.h.

Valor Significado
SPC_EXC_PE_PAGE_HASHES_FLAG
0x10
Exclua hashes de página ao criar dados indiretos SIP para o arquivo PE. Esse sinalizador tem precedência sobre o sinalizador SPC_INC_PE_PAGE_HASHES_FLAG .
Se nem a SPC_EXC_PE_PAGE_HASHES_FLAG nem o sinalizador SPC_INC_PE_PAGE_HASHES_FLAG for especificado, o valor definido com a função WintrustSetDefaultIncludePEPageHashes será usado para essa configuração. O padrão para essa configuração é excluir hashes de página ao criar dados indiretos SIP para arquivos PE.
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG
0x20
Não há suporte para esse valor.
SPC_INC_PE_DEBUG_INFO_FLAG
0x40
Não há suporte para esse valor.
SPC_INC_PE_RESOURCES_FLAG
0x80
Não há suporte para esse valor.
SPC_INC_PE_PAGE_HASHES_FLAG
0x100
Inclua hashes de página ao criar dados indiretos SIP para o arquivo PE.
Windows Server 2003 e Windows XP: Não há suporte para esse valor.

 

pSubjectInfo [in]

Um ponteiro para uma estrutura SIGNER_SUBJECT_INFO que especifica o assunto a ser assinado.

pSignerCert [in]

Um ponteiro para uma estrutura SIGNER_CERT que especifica o certificado a ser usado para criar a assinatura digital.

pSignatureInfo [in]

Um ponteiro para uma estrutura SIGNER_SIGNATURE_INFO que contém informações sobre a assinatura digital.

pProviderInfo [in, opcional]

Um ponteiro para uma estrutura SIGNER_PROVIDER_INFO que especifica as informações de CSP ( provedor de serviços criptográficos ) e de chave privada usadas para criar a assinatura digital.

Se o valor desse parâmetro for NULL, o valor do parâmetro pSignerCert deverá especificar um certificado associado a um CSP.

pwszHttpTimeStamp [in, opcional]

A URL de um servidor de carimbo de data/hora.

psRequest [in, opcional]

Um ponteiro para uma matriz de estruturas de CRYPT_ATTRIBUTE que são adicionadas a uma solicitação de sinal. Esse parâmetro será ignorado se o parâmetro pwszHttpTimeStamp não contiver um valor válido que não seja NULL.

pSipData [in, opcional]

Um valor de 32 bits que é passado como dados adicionais para funções SIP. O formato e o conteúdo disso são definidos pelo provedor SIP.

ppSignerContext [out]

O endereço de um ponteiro para a estrutura SIGNER_CONTEXT que contém o BLOB assinado. Quando terminar de usar a estrutura SIGNER_CONTEXT , libere a estrutura SIGNER_CONTEXT chamando a função SignerFreeSignerContext .

Valor retornado

Se a função for bem-sucedida, a função retornará S_OK.

Se a função falhar, ela retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
DLL
Mssign32.dll

Confira também

SignerSign

SignerFreeSignerContext