Função CryptGetTimeValidObject (wincrypt.h)
A função CryptGetTimeValidObject recupera uma CRL, uma resposta OCSP ou um objeto CTL válido dentro de um determinado contexto e hora.
Sintaxe
BOOL CryptGetTimeValidObject(
[in] LPCSTR pszTimeValidOid,
[in] LPVOID pvPara,
[in] PCCERT_CONTEXT pIssuer,
[in, optional] LPFILETIME pftValidFor,
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[out, optional] LPVOID *ppvObject,
[in, optional] PCRYPT_CREDENTIALS pCredentials,
[in, out, optional] PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo
);
Parâmetros
[in] pszTimeValidOid
Um ponteiro para um OID (identificador de objeto ) que identifica o objeto que está sendo solicitado. Se a HIWORD do parâmetro pszTimeValidOid for zero, LOWORD especificará o identificador inteiro para o tipo da estrutura especificada.
Esse parâmetro pode usar um dos valores a seguir. Para obter informações sobre como esses valores afetam o parâmetro pvPara, consulte o título "Para o parâmetro pvPara" na coluna Meaning.
Valor | Significado |
---|---|
|
Fornece uma CTL (lista de confiança de certificado) com base em uma URL obtida da propriedade NextUpdateLocation ou da extensão do contexto CTL atual.
Para o parâmetro pvPara: um ponteiro para um PCCTL_CONTEXT que representa a lista de confiança do certificado atual. |
|
Este valor está reservado para uso futuro. |
|
Fornece uma CRL com base nas informações obtidas da extensão de pontos de distribuição crl do contexto de certificado atual.
Para o parâmetro pvPara: um ponteiro para um PCCERT_CONTEXT que representa o certificado da entidade. |
|
Fornece uma CRL delta com base nas informações obtidas da extensão de CRL mais recente do contexto de certificado atual.
Para o parâmetro pvPara: um ponteiro para um PCCERT_CONTEXT que representa o certificado da entidade. |
|
Fornece uma CRL delta com base nas informações obtidas da extensão de CRL mais recente do contexto de CRL atual.
Para o parâmetro pvPara: um ponteiro para um PCCERT_CRL_CONTEXT_PAIR que representa o certificado da entidade e sua CRL base. |
[in] pvPara
Uma estrutura determinada pelo valor de pszTimeValidOid. Para obter detalhes, consulte a descrição do parâmetro pszTimeValidOid .
[in] pIssuer
Um ponteiro para um CERT_CONTEXT que contém o certificado do emissor.
[in, optional] pftValidFor
Um ponteiro para uma versão opcional da estrutura FILETIME da hora atual do sistema ou um tempo de atualização do contexto atual.
[in] dwFlags
Um valor que determina vários fatores de recuperação, como tempo limite, origem e verificações de validade.
A tabela a seguir lista os valores possíveis para o parâmetro dwFlags .
Valor | Significado |
---|---|
|
Use a configuração de registro de tempo limite cumulativo do computador cliente para recuperações de URL de revogação. |
|
Recupere os bits codificados somente do cache de URL do cliente. Não use o fio para recuperar a URL. |
|
Verifique se a propriedade ThisUpdate ou a extensão do contexto atual é maior ou igual ao parâmetro ftValidFor . |
|
Não execute marcar de validade de tempo. Use isso para recuperar uma CRL base mais recente sobre a transmissão ou para ignorar a validade do tempo marcar durante uma recuperação de cache. Quando esse sinalizador é definido, pftValidFor pode ser NULL. |
|
Não execute a verificação de assinatura. Use isso quando a verificação do objeto recuperado for executada fora dessa função ou para forçar uma substituição de uma entrada de cache recuperada por uma nova entrada de cache para o objeto. |
|
Este valor está reservado para uso futuro. |
|
Recupera o objeto de tempo válido de um serviço respondente OCSP somente com base nas URLs de Acesso às Informações da Autoridade no contexto atual. A função CertVerifyRevocation define esse sinalizador quando ele é chamado com o parâmetro dwFlags definido como CERT_VERIFY_REV_SERVER_OCSP_FLAG. |
|
Recupera os bits codificados somente do fio. Não usa o cache de URL. |
[in] dwTimeout
Um valor, em milissegundos, que especifica quando encerrar uma tentativa de recuperação de URL que não retornou um resultado.
[out, optional] ppvObject
Um ponteiro para um endereço para o objeto retornado. O tipo de retorno pode ser um dos tipos com suporte mostrados no parâmetro pszObjectOid da função CryptRetrieveObjectByUrl .
[in, optional] pCredentials
Um ponteiro para uma estrutura de CRYPT_CREDENTIALS opcional usada para acessar a URL. O único tipo de credenciais com suporte no momento são credenciais de nome de usuário e senha.
[in, out, optional] pExtraInfo
Um ponteiro para uma estrutura de CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO opcional que contém informações extras sobre a entrada de cache de um objeto .
Retornar valor
Se a função for bem-sucedida, a função retornará TRUE.
Se a função falhar, ela retornará FALSE. Para obter informações de erro estendidas, chame GetLastError.
Alguns códigos de erro possíveis seguem.
Código de retorno | Descrição |
---|---|
|
O chamador especificou TIME_VALID_OID_GET_CRL para o parâmetro pszTimeValidOid . Não há suporte para essa OID. |
|
O chamador define o sinalizador CRYPT_OCSP_ONLY_RETRIEVAL e o contexto inclui uma URL não OCSP. |
|
A função não conseguiu recuperar uma CRL de um contexto de certificado ou recuperar uma CTL e não conseguiu copiar nenhuma URL de uma entrada de cache. |
|
A função não pôde alocar memória para uma operação de matriz interna. |
|
O chamador não definiu o sinalizador CRYPT_CACHE_ONLY_RETRIEVAL e não está conectado à Internet. |
Comentários
A biblioteca de link dinâmico Cryptnet implementa um cache tvo (objeto válido por tempo) que é usado para dar suporte à função CryptGetTimeValidObject . O cache é usado por um agente de TVO global de processo em que cada entrada de cache consiste nas informações a seguir.
- Identificador de origem
- OID de contexto
- Contexto
- URL de recuperação
- Tempo de Expiração
- Informações de tempo de URL offline
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Cryptnet.lib |
DLL | Cryptnet.dll |