Compartilhar via


Função SignerTimeStampEx3

A função SignerTimeStampEx3 carimba o assunto especificado e dá suporte à definição de carimbos de data/hora em várias assinaturas.

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 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]

Sinalizador que especifica o tipo de carimbo de data/hora a ser gerado. Esse parâmetro pode usar um dos valores a seguir. Os valores são mutuamente exclusivos.

Valor Significado
SIGNER_TIMESTAMP_AUTHENTICODE
Especifica um carimbo de data/hora do Authenticode.
Nota: Authenticode não é mais o tipo preferencial de carimbo de data/hora. O suporte para carimbos de data/hora do Authenticode pode ser removido no futuro. Recomendamos que você use RFC 3161.
SIGNER_TIMESTAMP_RFC3161
Especifica um carimbo de data/hora compatível com RFC 3161.

 

dwIndex [in]

Especifica o número de sequência da assinatura à qual o carimbo de data/hora será adicionado. Se esse valor for zero (0), a assinatura externa terá carimbo de data/hora.

pSubjectInfo [in]

O endereço de uma estrutura SIGNER_SUBJECT_INFO que representa o assunto a ser carimbado.

pwszHttpTimeStamp [in]

O endereço de uma cadeia de caracteres Unicode terminada em nulo que contém a URL de um servidor de carimbo de data/hora.

pszAlgorithmOid [in]

Um algoritmo de hash a ser usado para executar carimbos de data/hora compatíveis com RFC 3161. Esse parâmetro é ignorado para carimbos de data/hora do Authenticode.

psRequest [in, opcional]

Opcional. O endereço de uma estrutura CRYPT_ATTRIBUTES que contém atributos adicionais que são adicionados à solicitação de carimbo de data/hora.

Esse parâmetro é opcional e pode ser NULL se não estiver incluído.

pSipData [in, opcional]

Opcional. Um valor de 32 bits que é passado como dados adicionais para funções SIP ( pacote de interface de entidade ). O formato e o conteúdo desse parâmetro são definidos pelo provedor SIP.

Esse parâmetro é opcional e pode ser NULL se não estiver incluído.

ppSignerContext [out]

Opcional. 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 chamando a função SignerFreeSignerContext .

pCryptoPolicy [in, opcional]

Se presente, um ponteiro para uma estrutura CERT_STRONG_SIGN_PARA que contém os parâmetros usados para marcar para assinaturas fortes. O carimbo de data/hora deve passar nessa política criptográfica.

pReserved

Reservado. Esse valor deve ser NULL.

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. Os possíveis códigos de erro retornados por essa função incluem, mas não se limitam a, o seguinte. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Código de retorno Descrição
E_INVALIDARG
Esse erro pode ser retornado para as seguintes condições:
  • Você deve definir SIGNER_TIMESTAMP_AUTHENTICODE ou SIGNER_TIMESTAMP_RFC3161 para o parâmetro dwFlags .
  • O parâmetro pReserved deve ser NULL.
  • Se você definir o sinalizador SIGNER_TIMESTAMP_AUTHENTICODE no parâmetro dwFlags , deverá definir o parâmetro dwIndex como zero.

 

Requisitos

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

Confira também

SignerTimeStamp

SignerTimeStampEx

SignerTimeStampEx2