Compartir a través de


Función CryptGetObjectUrl (wincrypt.h)

La función CryptGetObjectUrl adquiere la dirección URL del objeto remoto de un certificado, una lista de certificados de confianza (CTL) o una lista de revocación de certificados (CRL).

La función toma el objeto, lo descodifica y proporciona un puntero a una matriz de direcciones URL del objeto . Por ejemplo, a partir de un certificado, una lista de distribución CRL de direcciones URL estaría en la matriz.

Sintaxis

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

Puntero a un identificador de objeto (OID) que identifica la dirección URL que se solicita. Si el HIWORD del parámetro pszUrlOid es cero, loWORD especifica el identificador entero para el tipo de la estructura especificada.

Este parámetro puede ser uno de los valores siguientes. Para obtener información sobre cómo afectan estos valores al parámetro pvPara , vea el encabezado "Para el parámetro pvPara " en la columna Significado .

Valor Significado
URL_OID_CERTIFICATE_ISSUER
Proporciona la dirección URL del emisor de certificados recuperado de la extensión o propiedad de acceso a la información de la entidad de un certificado.

Para el parámetro pvPara : puntero a una estructura de CERT_CONTEXT emitida por el emisor cuya dirección URL se solicita.

URL_OID_CERTIFICATE_CRL_DIST_POINT
Proporciona una lista de direcciones URL de los puntos de distribución CRL recuperados de la extensión o propiedad del punto de distribución crL de un certificado.

Para el parámetro pvPara : puntero a una estructura de CERT_CONTEXT cuyo punto de distribución CRL se solicita.

URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP
Proporciona una lista de direcciones URL de punto de distribución OCSP y CRL de las extensiones o propiedades de un certificado de acceso a la información de autoridad (AIA) y del punto de distribución CRL. La función devuelve primero las direcciones URL de los puntos de distribución CRL. Antes de usar las direcciones URL de OCSP, debe quitar el prefijo L"ocsp:".

Para el parámetro pvPara : puntero a una estructura de CERT_CONTEXT cuyas direcciones URL de punto de distribución OCSP y CRL se solicitan.

URL_OID_CERTIFICATE_OCSP
Proporciona una dirección URL de OCSP de la extensión o propiedad de acceso a la información de autoridad (AIA) de un certificado.

Para el parámetro pvPara : puntero a una estructura de CERT_CONTEXT cuya dirección URL de OCSP se solicita.

URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT
Proporciona una lista de direcciones URL de punto de distribución OCSP y CRL de las extensiones o propiedades de un certificado de acceso a la información de autoridad (AIA) y del punto de distribución CRL. La función devuelve primero las direcciones URL de OCSP. Antes de usar las direcciones URL de OCSP, debe quitar el prefijo L"ocsp:".

Para el parámetro pvPara : puntero a una estructura de CERT_CONTEXT cuyas direcciones URL de punto de distribución OCSP y CRL se solicitan.

URL_OID_CERTIFICATE_ONLY_OCSP
Proporciona una lista de direcciones URL de OCSP de la extensión o propiedad de acceso a la información de autoridad (AIA) de un certificado. Antes de usar las direcciones URL de OCSP, debe quitar el prefijo L"ocsp:".

Para el parámetro pvPara : puntero a una estructura de CERT_CONTEXT cuyas direcciones URL de OCSP se solicitan.

URL_OID_CTL_ISSUER
Proporciona la dirección URL del emisor de CTL recuperado de un método de atributo de acceso a la información de autoridad codificado en cada información del firmante en el CTL PKCS #7.

Para el parámetro pvPara : puntero a un índice de firmante CTL_CONTEXT estructura emitida por el emisor cuya dirección URL, identificada por el índice del firmante, se solicita.

URL_OID_CTL_NEXT_UPDATE
Proporciona la dirección URL de la siguiente actualización de esa CTL recuperada de una extensión de CTL de acceso a información de autoridad, propiedad o método de atributo de información del firmante.

Para el parámetro pvPara : puntero a un índice del firmante CTL_CONTEXT estructura cuya siguiente dirección URL de actualización se solicita y un índice de firmante opcional, en caso de que sea necesario comprobar los atributos de información del firmante.

URL_OID_CRL_ISSUER
Proporciona la dirección URL del emisor de CRL recuperado de una propiedad en una CRL que se heredó del certificado del firmante (ya sea del emisor del certificado del firmante o de la extensión del punto de distribución del certificado del firmante). Se codifica como un método de extensión de acceso a la información de autoridad.

Para el parámetro pvPara : puntero a una estructura de CRL_CONTEXT emitida por el emisor cuya dirección URL se solicita.

URL_OID_CERTIFICATE_FRESHEST_CRL
Recupera la extensión o propiedad crL más reciente del certificado.

Para el parámetro pvPara : el PCCERT_CONTEXT de un certificado cuyo punto de distribución CRL más reciente se solicita.

URL_OID_CRL_FRESHEST_CRL
Recupera la extensión o propiedad crL más reciente de la CRL.

Para el parámetro pvPara : puntero a una estructura de CERT_CRL_CONTEXT_PAIR que contiene la CRL base de un certificado cuyo punto de distribución crL más reciente se solicita.

URL_OID_CROSS_CERT_DIST_POINT
Recupera la extensión o propiedad del punto de distribución entre certificados del certificado.

Para el parámetro pvPara : el PCCERT_CONTEXT de un certificado cuyo punto de distribución entre certificados se solicita.

URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS
Recupera la extensión o propiedad de acceso a la información del firmante del certificado entre certificados.

Para el parámetro pvPara : el PCCERT_CONTEXT de un certificado cuyo acceso a la información de sujeto entre certificados se solicita.

[in] pvPara

Estructura determinada por el valor de pszUrlOid. Para obtener más información, consulte la descripción del parámetro pszUrlOid .

[in] dwFlags

Conjunto de marcas usadas para obtener el localizador de direcciones URL de un objeto. Puede ser cero o una combinación de uno o varios de los valores siguientes.

Valor Significado
CRYPT_GET_URL_FROM_PROPERTY
Busca la dirección URL de la propiedad del objeto (la ubicación de los datos).
CRYPT_GET_URL_FROM_EXTENSION
Busca la dirección URL de la extensión del objeto .
CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE
Busca la dirección URL de un atributo no autenticado de los datos de información del firmante.
CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE
Busca la dirección URL de un atributo autenticado de los datos de información del firmante.

[out] pUrlArray

Puntero a un búfer para recibir los datos de la entrada de valor. Este parámetro puede ser NULL para buscar la longitud del búfer necesario para contener los datos.

Para obtener más información, vea Recuperación de datos de longitud desconocida.

[in, out] pcbUrlArray

Puntero a un DWORD que especifica el tamaño, en bytes, del búfer al que apunta el parámetro pUrlArray . Cuando se devuelve la función, DWORD contiene el número de bytes almacenados en el búfer. Este parámetro solo puede ser NULL si pUrlArray es NULL.

[out] pUrlInfo

Puntero opcional a una estructura CRYPT_URL_INFO que recibe los datos de la entrada de valor.

[in, out] pcbUrlInfo

Puntero a un DWORD que especifica el tamaño, en bytes, del búfer al que apunta el parámetro pUrlArray . Cuando se devuelve la función, DWORD contiene el número de bytes almacenados en el búfer.

Nota Al procesar los datos devueltos en el búfer, las aplicaciones deben usar el tamaño real de los datos devueltos. El tamaño real puede ser ligeramente menor que el tamaño del búfer especificado en la entrada. En la entrada, los tamaños de búfer suelen especificarse lo suficientemente grandes como para asegurarse de que los datos de salida más grandes posibles caben en el búfer. En la salida, la variable a la que apunta este parámetro se actualiza para reflejar el tamaño real de los datos copiados en el búfer.
 

pvReserved

Reservado para uso futuro y debe ser NULL.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).

Si se produce un error en la función, devuelve cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Cryptnet.lib
Archivo DLL Cryptnet.dll

Consulte también

Funciones de recuperación de objetos remotos