Compartir a través de


Método ICertServerExit::GetCertificateExtension (certif.h)

El método GetCertificateExtension obtiene una extensión de certificado especificada.

Tenga en cuenta que las extensiones de certificado son distintas de las propiedades del certificado. Las propiedades son datos genéricos adjuntos al objeto de solicitud. Algunas de estas propiedades se codifican en el certificado (ejemplo: BeginDate), mientras que otras solo se usan para marcar las solicitudes en la cola y el registro. Las extensiones que no están deshabilitadas se codifican en el certificado. Las extensiones siempre se marcan con un identificador de objeto y siempre tienen una marca crítica o no crítica.

Sintaxis

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

Parámetros

[in] strExtensionName

Cadena que contiene el nombre de la extensión.

[in] Type

Especifica el tipo de la extensión. El tipo puede ser uno de los siguientes tipos.

Valor Significado
PROPTYPE_LONG
Datos largos firmados
PROPTYPE_DATE
Fecha y hora
PROPTYPE_BINARY
El valor de extensión se recupera tal cual y está codificado ASN.1 si es necesario.
PROPTYPE_STRING
El valor de extensión es ASN.1 codificado como una cadena IA5.

[out] pvarValue

Puntero a un variant que recibe el valor de extensión solicitado.

Valor devuelto

C++

Si el método se ejecuta correctamente, el método devuelve S_OK y *pvarValue se establece en variant que contiene el valor de extensión.

Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

VB

El valor devuelto es el valor de extensión solicitado.

Comentarios

Debe llamar a ICertServerExit::SetContext antes de usar este método.

Ejemplos

VARIANT  varExt;
HRESULT  hr;

VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateExtension(bstrExtName,
                                              PROPTYPE_BINARY,
                                              &varExt);

if (FAILED(hr))
{
    printf("Failed GetCertificateExtension [%x]\n", hr);
    goto error;
}
// Successful call; Use the value in varExt as needed.
// ...

// When done, clear the Variant
VariantClear(&varExt);

Requisitos

   
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certif.h (incluya Certsrv.h)
Library Certidl.lib
Archivo DLL Certcli.dll

Consulte también

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext