Função CryptGetObjectUrl (wincrypt.h)

A função CryptGetObjectUrl adquire a URL do objeto remoto de um certificado, uma CTL ( lista de confiança de certificado ) ou uma CRL (lista de revogação de certificado ).

A função pega o objeto, o decodifica e fornece um ponteiro para uma matriz de URLs do objeto. Por exemplo, de um certificado, uma lista de distribuição de CRL de URLs estaria na matriz.

Sintaxe

BOOL CryptGetObjectUrl(
  [in]      LPCSTR           pszUrlOid,
  [in]      LPVOID           pvPara,
  [in]      DWORD            dwFlags,
  [out]     PCRYPT_URL_ARRAY pUrlArray,
  [in, out] DWORD            *pcbUrlArray,
  [out]     PCRYPT_URL_INFO  pUrlInfo,
  [in, out] DWORD            *pcbUrlInfo,
            LPVOID           pvReserved
);

Parâmetros

[in] pszUrlOid

Um ponteiro para um OID ( identificador de objeto ) que identifica a URL que está sendo solicitada. Se o HIWORD do parâmetro pszUrlOid 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
URL_OID_CERTIFICATE_ISSUER
Fornece a URL do emissor do certificado recuperado da extensão de acesso às informações da autoridade ou da propriedade de um certificado.

Para o parâmetro pvPara : um ponteiro para uma estrutura CERT_CONTEXT que foi emitida pelo emissor cuja URL está sendo solicitada.

URL_OID_CERTIFICATE_CRL_DIST_POINT
Fornece uma lista de URLs dos pontos de distribuição de CRL recuperados da extensão ou propriedade do ponto de distribuição crl de um certificado.

Para o parâmetro pvPara : um ponteiro para uma estrutura CERT_CONTEXT cujo ponto de distribuição de CRL é solicitado.

URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP
Fornece uma lista de URLs do ponto de distribuição OCSP e CRL das extensões ou propriedades do ponto de distribuição do AIA (acesso às informações de autoridade) e das propriedades de um certificado. A função retorna todas as URLs do ponto de distribuição crl primeiro. Antes de usar urls OCSP, você deve remover o prefixo L"ocsp:".

Para o parâmetro pvPara : um ponteiro para uma estrutura CERT_CONTEXT cujas URLs do ponto de distribuição OCSP e CRL são solicitadas.

URL_OID_CERTIFICATE_OCSP
Fornece uma URL OCSP da extensão de acesso às informações de autoridade (AIA) ou propriedade de um certificado.

Para o parâmetro pvPara : um ponteiro para uma estrutura CERT_CONTEXT cuja URL OCSP é solicitada.

URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT
Fornece uma lista de URLs do ponto de distribuição OCSP e CRL das extensões ou propriedades do ponto de distribuição do AIA (acesso às informações de autoridade) e das propriedades de um certificado. A função retorna todas as URLs OCSP primeiro. Antes de usar urls OCSP, você deve remover o prefixo L"ocsp:".

Para o parâmetro pvPara : um ponteiro para uma estrutura CERT_CONTEXT cujas URLs do ponto de distribuição OCSP e CRL são solicitadas.

URL_OID_CERTIFICATE_ONLY_OCSP
Fornece uma lista de URLs OCSP da extensão de acesso às informações de autoridade (AIA) ou propriedade de um certificado. Antes de usar urls OCSP, você deve remover o prefixo L"ocsp:".

Para o parâmetro pvPara : um ponteiro para uma estrutura CERT_CONTEXT cujas URLs OCSP são solicitadas.

URL_OID_CTL_ISSUER
Fornece a URL do emissor ctl recuperada de um método de atributo de acesso de informações de autoridade codificado em cada informação do signatário na CTL PKCS #7.

Para o parâmetro pvPara : um ponteiro para uma estrutura de CTL_CONTEXT de Índice do Signatário que foi emitida pelo emissor cuja URL, identificada pelo índice do signatário, é solicitada.

URL_OID_CTL_NEXT_UPDATE
Fornece a URL da próxima atualização dessa CTL recuperada de uma extensão ctl de acesso de informações de autoridade, propriedade ou método de atributo de informações do signatário.

Para o parâmetro pvPara: um ponteiro para uma estrutura de CTL_CONTEXT de Índice do Signatário cuja próxima URL de atualização é solicitada e um índice de signatário opcional, caso seja necessário marcar os atributos de informações do signatário.

URL_OID_CRL_ISSUER
Fornece a URL do emissor de CRL recuperada de uma propriedade em uma CRL que foi herdada do certificado de entidade (seja do emissor do certificado da entidade ou da extensão do ponto de distribuição do certificado de entidade). Ele é codificado como um método de extensão de acesso de informações de autoridade.

Para o parâmetro pvPara : um ponteiro para uma estrutura CRL_CONTEXT que foi emitida pelo emissor cuja URL é solicitada.

URL_OID_CERTIFICATE_FRESHEST_CRL
Recupera a extensão ou propriedade mais recente da CRL do certificado.

Para o parâmetro pvPara : o PCCERT_CONTEXT de um certificado cujo ponto de distribuição de CRL mais recente está sendo solicitado.

URL_OID_CRL_FRESHEST_CRL
Recupera a extensão ou propriedade crl mais recente da CRL.

Para o parâmetro pvPara : um ponteiro para uma estrutura CERT_CRL_CONTEXT_PAIR que contém a CRL base de um certificado cujo ponto de distribuição de CRL mais recente está sendo solicitado.

URL_OID_CROSS_CERT_DIST_POINT
Recupera a extensão ou a propriedade do ponto de distribuição entre certificados do certificado.

Para o parâmetro pvPara : o PCCERT_CONTEXT de um certificado cujo ponto de distribuição entre certificados está sendo solicitado.

URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS
Recupera a extensão de Acesso às Informações da Entidade entre certificados ou a propriedade do certificado.

Para o parâmetro pvPara : o PCCERT_CONTEXT de um certificado cujo acesso de informações de entidade entre certificados está sendo solicitado.

[in] pvPara

Uma estrutura determinada pelo valor de pszUrlOid. Para obter detalhes, consulte a descrição do parâmetro pszUrlOid .

[in] dwFlags

Um conjunto de sinalizadores usados para obter o localizador de URL de um objeto . Isso pode ser zero ou uma combinação de um ou mais dos valores a seguir.

Valor Significado
CRYPT_GET_URL_FROM_PROPERTY
Localiza a URL da propriedade do objeto (o local dos dados).
CRYPT_GET_URL_FROM_EXTENSION
Localiza a URL da extensão do objeto .
CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE
Localiza a URL de um atributo não autenticado dos dados de informações do signatário.
CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE
Localiza a URL de um atributo autenticado dos dados de informações do signatário.

[out] pUrlArray

Um ponteiro para um buffer para receber os dados da entrada de valor. Esse parâmetro pode ser NULL para localizar o comprimento do buffer necessário para manter os dados.

Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.

[in, out] pcbUrlArray

Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer apontado pelo parâmetro pUrlArray . Quando a função retorna, o DWORD contém o número de bytes armazenados no buffer. Esse parâmetro só poderá ser NULL se pUrlArray for NULL.

[out] pUrlInfo

Um ponteiro opcional para uma estrutura CRYPT_URL_INFO que recebe os dados da entrada de valor.

[in, out] pcbUrlInfo

Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer apontado pelo parâmetro pUrlArray . Quando a função retorna, o DWORD contém o número de bytes armazenados no buffer.

Nota Ao processar os dados retornados no buffer, os aplicativos devem usar o tamanho real dos dados retornados. O tamanho real pode ser um pouco menor do que o tamanho do buffer especificado na entrada. Na entrada, os tamanhos de buffer geralmente são especificados grandes o suficiente para garantir que os maiores dados de saída possíveis se encaixem no buffer. Na saída, a variável apontada por esse parâmetro é atualizada para refletir o tamanho real dos dados copiados para o buffer.
 

pvReserved

Reservado para uso futuro e deve ser NULL.

Valor retornado

Se a função for bem-sucedida, a função retornará diferente de zero (TRUE).

Se a função falhar, ela retornará zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.

Requisitos

   
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]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Cryptnet.lib
DLL Cryptnet.dll

Confira também

Funções de recuperação de objeto remoto