Función CertCreateContext (wincrypt.h)
La función CertCreateContext crea el contexto especificado a partir de los bytes codificados. El contexto creado no incluye ninguna propiedad extendida.
Sintaxis
const void * CertCreateContext(
[in] DWORD dwContextType,
[in] DWORD dwEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[in] DWORD dwFlags,
[in, optional] PCERT_CREATE_CONTEXT_PARA pCreatePara
);
Parámetros
[in] dwContextType
Especifica los contextos que se pueden crear. Por ejemplo, para crear un contexto de certificado, establezca dwContextType en CERT_STORE_CERTIFICATE_CONTEXT.
Las marcas de tipo de contexto definidas actualmente se muestran en la tabla siguiente.
Valor | Significado |
---|---|
|
Contexto del certificado. |
|
Contexto crL. |
|
Contexto CTL. |
[in] dwEncodingType
Especifica el tipo de codificación usado. Actualmente, solo se usan X509_ASN_ENCODING y PKCS_7_ASN_ENCODING; sin embargo, se pueden agregar tipos de codificación adicionales en el futuro. Para cualquier tipo de codificación actual, use:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pbEncoded
Puntero a un búfer que contiene el contenido de contexto codificado existente que se va a copiar.
[in] cbEncoded
Tamaño, en bytes, del búfer pbEncoded .
[in] dwFlags
Se definen los siguientes valores de marca y se pueden combinar mediante una operación OR bit a bit.
Valor | Significado |
---|---|
|
El contexto creado apunta directamente al contenido al que apunta pbEncoded en lugar de una copia asignada. |
|
La función crea un contexto con entradas ordenadas. Actualmente, esta marca solo se aplica a un contexto de CTL.
En el caso de las CCL, el miembro cCTLEntry de la estructura de CTL_INFO devuelta siempre es cero. Se debe llamar a CertFindSubjectInSortedCTL y CertEnumSubjectInSortedCTL para buscar o enumerar las entradas de CTL. |
|
De forma predeterminada, cuando se crea un contexto CTL, se crea un identificador HCRYTPMSG en su mensaje SignedData . Esta marca se puede establecer para mejorar el rendimiento al no crear este identificador. Esta marca solo se puede usar cuando dwContextType es CERT_STORE_CTL_CONTEXT. |
|
De forma predeterminada, cuando se crea un contexto de CTL, sus entradas se descodifican. Cuando se establece esta marca, las entradas no se descodifican y se mejora el rendimiento. Esta marca solo se puede usar cuando dwContextType es CERT_STORE_CTL_CONTEXT. |
[in, optional] pCreatePara
Puntero a una estructura de CERT_CREATE_CONTEXT_PARA .
Si pCreatePara y su miembro pfnFree no son NULL, el miembro pfnFree se usa para liberar la memoria especificada por el miembro pvFree . Si el miembro pvFree es NULL, el miembro pfnFree se usa para liberar el puntero pbEncoded .
Si pCreatePara o su miembro pfnFree es NULL, no se intenta liberar pbEncoded.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un puntero al contexto recién creado. Se debe llamar al miembro pvFree de pCreatePara para liberar el contexto creado.
Si la función no se realiza correctamente, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.
Si GetLastError devuelve ERROR_CANCELLED, esto significa que la función de devolución de llamada PFN_CERT_CREATE_CONTEXT_SORT_FUNC devolvió FALSE para detener la ordenación.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |
Consulte también
Funciones de mantenimiento del almacén de certificados y certificados