Função CryptRetrieveObjectByUrlA (wincrypt.h)
A função
Esses objetos remotos estão em formato codificado e são recuperados em um formulário de "contexto".
Sintaxe
BOOL CryptRetrieveObjectByUrlA(
[in] LPCSTR pszUrl,
[in] LPCSTR pszObjectOid,
[in] DWORD dwRetrievalFlags,
[in] DWORD dwTimeout,
[out] LPVOID *ppvObject,
[in] HCRYPTASYNC hAsyncRetrieve,
[in, optional] PCRYPT_CREDENTIALS pCredentials,
[in, optional] LPVOID pvVerify,
[in] PCRYPT_RETRIEVE_AUX_INFO pAuxInfo
);
Parâmetros
[in] pszUrl
O endereço de um objeto PKI a ser recuperado. Há suporte para os seguintes esquemas:
- ldap (do protocolo de acesso do diretório leve
) - http
- https (lista de revogação de certificados (CRL) ou somente recuperações de de protocolo de status de certificado online (OCSP)
- arquivo
[in] pszObjectOid
O endereço de uma cadeia de caracteres ANSI terminada em nulo que identifica o tipo de objeto a ser recuperado. Esse pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Recuperar um ou mais dados BLOBs. Os bits codificados são retornados em uma matriz de BLOBs.
ppvObject é o endereço de um ponteiro de estrutura CRYPT_BLOB_ARRAY que recebe a matriz BLOB. Quando essa estrutura não for mais necessária, você deverá liberá-la passando o endereço dessa estrutura para a função |
|
Recupere um ou mais certificados.
Se um único objeto estiver sendo recuperado, ppvObject será o endereço de um ponteiro de estrutura CERT_CONTEXT que recebe o contexto. Quando esse contexto não for mais necessário, você deverá liberá-lo passando o ponteiro da estrutura Se vários objetos estiverem sendo recuperados, |
|
Recupere um ou mais listas de revogação de certificados (CRLs).
Se um único objeto estiver sendo recuperado, ppvObject será o endereço de um ponteiro de estrutura CRL_CONTEXT que recebe o contexto. Quando esse contexto não for mais necessário, você deverá liberá-lo passando o ponteiro da estrutura Se vários objetos estiverem sendo recuperados, |
|
Recupere uma ou mais listas de confiança de certificado (CTLs).
Se um único objeto estiver sendo recuperado, ppvObject será o endereço de um ponteiro de estrutura CTL_CONTEXT que recebe o contexto. Quando esse contexto não for mais necessário, você deverá liberá-lo passando o ponteiro da estrutura Se vários objetos estiverem sendo recuperados, |
|
|
|
|
|
ppvObject é o endereço de um ponteiro para uma estrutura de CRYPT_BLOB_ARRAY. |
[in] dwRetrievalFlags
Determina se é necessário usar a URL armazenada em cache ou uma URL recuperada da URL de transmissão. O formulário no qual os objetos são retornados é determinado pelo valor de pszObjectOid.
[in] dwTimeout
Especifica o número máximo de milissegundos a aguardar a recuperação. Se um valor igual a zero for especificado, essa função não atingiu o tempo limite. Esse parâmetro não será usado se o esquema de URL for file:///.
[out] ppvObject
O endereço de um ponteiro para o objeto retornado. O tipo de retorno pode ser um dos tipos com suporte mostrados em pszObjectOid.
[in] hAsyncRetrieve
Esse parâmetro é reservado e deve ser definido como NULL.
[in, optional] pCredentials
Esse parâmetro não é usado.
[in, optional] pvVerify
Um ponteiro para um objeto de verificação. Esse objeto é uma função do parâmetro dwRetrievalFlags. Pode ser NULL para indicar que o chamador não está interessado em obter o contexto ou índice do certificado do signatário se dwRetrievalFlags estiver CRYPT_VERIFY_CONTEXT_SIGNATURE.
[in] pAuxInfo
Um ponteiro opcional para uma estrutura CRYPT_RETRIEVE_AUX_INFO. Se não NULL e se o cbSize membro da estrutura estiver definido, esse parâmetro retornará a hora da última recuperação de fio bem-sucedida.
Valor de retorno
Se a função for bem-sucedida, o valor retornado não será zero (TRUE).
Se a função falhar, o valor retornado será zero (false).
Observações
O gerenciador de recuperação de objeto remoto expõe dois modelos de provedor. Um deles é o modelo de Provedor de Esquema que permite provedores de protocolo instaláveis, conforme definido pelo esquema de URL, ou seja, ldap, http, ftp ou arquivo. O ponto de entrada do provedor de esquema é o mesmo que a função CryptRetrieveObjectByUrl; no entanto, o *ppvObject retornado é sempre uma matriz contada de bits codificados (um por objeto recuperado).
O segundo modelo de provedor é o modelo provedor de contexto que permite que criadores instaláveis dos identificadores de contexto (objetos) com base nos bits codificados recuperados. Eles são enviados com base no OID ( de identificador de objeto) especificado na chamada para CryptRetrieveObjectByUrl.
Objetos PKI individuais, como certificados, listas de confiabilidade, listas de revogação, mensagens PKCS nº 7 e vários objetos homogêneos podem ser recuperados. A partir do Windows Vista com o Service Pack 1 (SP1) e o Windows Server 2008, a segurança das recuperações "http:" e "ldap:" foi protegida. Essa função dá suporte a esquemas de URL "http:" e "ldap:", bem como esquemas recém-definidos.
Windows XP: não há suporte para "ftp:" para recuperação de rede.
Nota
O cabeçalho wincrypt.h define CryptRetrieveObjectByUrl como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | wincrypt.h |
biblioteca | Cryptnet.lib |
de DLL |
Cryptnet.dll |