Share via


Método ICertServerPolicy::SetCertificateExtension (certif.h)

El método SetCertificateExtension agrega una nueva extensión al certificado.

Sintaxis

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

Parámetros

[in] strExtensionName

Especifica el identificador de objeto (OID) para la extensión que se va a establecer. La cadena debe tener 31 o menos caracteres no null de longitud.

[in] Type

Especifica el tipo de extensión que se va a establecer. El parámetro Type debe estar de acuerdo con el tipo de datos de pvarValue que se establece en el campo vt de la estructura VARIANT . El parámetro Type se puede establecer en uno de los tipos siguientes.

Valor Significado
PROPTYPE_LONG
Datos largos firmados.
PROPTYPE_DATE
Fecha y hora.
PROPTYPE_BINARY
El valor de extensión se establece tal cual y se supone que está codificado ASN.1 si es necesario.
PROPTYPE_STRING
El valor de extensión será CODIFICADO ASN.1 como una cadena IA5 antes de colocarlo en el nuevo certificado.
Nota Debe usar PROPTYPE_STRING para un valor de extensión que consta de una única dirección URL solo si desea que la dirección URL se codifique automáticamente como una cadena IA5. De lo contrario, codifique la dirección URL como una cadena IA5 y pase el valor codificado como PROPTYPE_BINARY.
 

[in] ExtFlags

Especifica las marcas de la extensión que se va a establecer. Use un valor de cero si no se va a establecer ninguna marca o use uno de los siguientes valores de marca. Puede combinar estas marcas mediante el operador OR y también puede combinarlas mediante el operador OR con marcas de extensión privada de directiva (los 8 bits altos del campo EXTENSION_POLICY_MASK).

Nota Cuando ExtFlags se establece en EXTENSION_DISABLE_FLAG, la extensión se deshabilitará en el registro del servidor y no se agregará al certificado.
 
Valor Significado
EXTENSION_CRITICAL_FLAG
Se trata de una extensión crítica.
EXTENSION_DISABLE_FLAG
No se usará la extensión.

[in] pvarValue

Especifica el valor asociado a la extensión. Tenga en cuenta que el tipo VARIANT del valor debe estar de acuerdo con el parámetro Type , como se muestra en la tabla siguiente.

Valor Significado
PROPTYPE_LONG
VT_I4
PROPTYPE_DATE
VT_DATE
PROPTYPE_BINARY
VT_BSTR
PROPTYPE_STRING
VT_BSTR

Valor devuelto

VB

Si el método se realiza correctamente, el método devuelve S_OK.

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.

Comentarios

Use extensiones para incluir información adicional con el certificado, como información de uso o asunto complementario. Para obtener más información, vea Controladores de extensiones.

Llame al método SetCertificateExtension desde la implementación del método ICertPolicy2::VerifyRequest . Debe llamar al método ICertServerPolicy::SetContext antes de llamar al método SetCertificateExtension .

Requisitos

Requisito Value
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

ICertServerPolicy

ICertServerPolicy::SetContext