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

O método SetCertificateExtension adiciona uma nova extensão ao certificado.

Sintaxe

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

Parâmetros

[in] strExtensionName

Especifica o OID (identificador de objeto ) para a extensão a ser definida. A cadeia de caracteres deve ter 31 ou menos caracteres não nulos de comprimento.

[in] Type

Especifica o tipo de extensão que está sendo definida. O parâmetro Type deve concordar com o tipo de dados de pvarValue definido no campo vt da estrutura VARIANT . O parâmetro Type pode ser definido como um dos tipos a seguir.

Valor Significado
PROPTYPE_LONG
Dados longos assinados.
PROPTYPE_DATE
Data/hora.
PROPTYPE_BINARY
O valor da extensão é definido como está e é considerado codificado como ASN.1, se necessário.
PROPTYPE_STRING
O valor da extensão será codificado em ASN.1 como uma cadeia de caracteres IA5 antes de ser colocado no novo certificado.
Nota Você deve usar PROPTYPE_STRING para um valor de extensão que consiste em uma única URL somente se quiser que a URL seja codificada automaticamente como uma cadeia de caracteres IA5. Caso contrário, codifique a URL como uma cadeia de caracteres IA5 por conta própria e passe o valor codificado como PROPTYPE_BINARY.
 

[in] ExtFlags

Especifica os sinalizadores para a extensão que está sendo definida. Use um valor igual a zero se nenhum sinalizador for definido ou use um dos valores de sinalizador a seguir. Você pode unir esses sinalizadores usando o operador OR e também pode juntá-los usando o operador OR com sinalizadores de extensão privada de política (os 8 bits altos do campo EXTENSION_POLICY_MASK).

Nota Quando ExtFlags for definido como EXTENSION_DISABLE_FLAG, a extensão será desabilitada no log do servidor e não será adicionada ao certificado.
 
Valor Significado
EXTENSION_CRITICAL_FLAG
Essa é uma extensão crítica.
EXTENSION_DISABLE_FLAG
A extensão não será usada.

[in] pvarValue

Especifica o valor associado à extensão. Observe que o tipo VARIANT do valor deve concordar com o parâmetro Type , conforme mostrado na tabela a seguir.

Valor Significado
PROPTYPE_LONG
VT_I4
PROPTYPE_DATE
VT_DATE
PROPTYPE_BINARY
VT_BSTR
PROPTYPE_STRING
VT_BSTR

Retornar valor

VB

Se o método for bem-sucedido, o método retornará S_OK.

Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Comentários

Use extensões para incluir informações adicionais com o certificado, como informações complementares de assunto ou uso. Para obter mais informações, consulte Manipuladores de extensão.

Chame o método SetCertificateExtension da implementação do método ICertPolicy2::VerifyRequest . Você deve chamar o método ICertServerPolicy::SetContext antes de chamar o método SetCertificateExtension .

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certif.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certcli.dll

Confira também

ICertServerPolicy

ICertServerPolicy::SetContext