Método ICertAdmin::SetCertificateExtension (certadm.h)

O método SetCertificateExtension adiciona uma nova extensão ao certificado emitido em resposta a uma solicitação de certificado. Esse método foi definido pela primeira vez pela interface ICertAdmin .

Para que esse método seja bem-sucedido, a solicitação de certificado deve estar pendente.

Sintaxe

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

Parâmetros

[in] strConfig

Representa uma cadeia de caracteres de configuração válida para o servidor de autoridade de certificação (CA) no formulário COMPUTERNAME\CANAME, em que COMPUTERNAME é o nome de rede do servidor de Serviços de Certificados e CANAME é o nome comum da autoridade de certificação, conforme inserido durante a instalação dos Serviços de Certificados. Para obter informações sobre o nome da cadeia de caracteres de configuração, consulte ICertConfig.

SetCertificateExtensionimportante não limpa o cache interno quando a cadeia de caracteres de configuração é alterada. Ao alterar a cadeia de caracteres de configuração para a AC, você deve instanciar um novo objeto ICertAdmin e chamar esse método novamente com a nova cadeia de caracteres de configuração.
 

[in] RequestId

Especifica a ID da solicitação de certificado.

[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 NULL 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 do parâmetro pvarValue . Esse tipo de dados é definido no campo vt da estrutura VARIANT .

Esse parâmetro pode usar um dos valores 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] Flags

Especifica os sinalizadores para a extensão que está sendo definida. Se nenhum sinalizador for definido, use um valor igual a zero. Você pode combinar esses sinalizadores com uma operação OR bit a bit e também com sinalizadores de extensão privada de política (os 8 bits altos do campo EXTENSION_POLICY_MASK).

Nota Quando o parâmetro Flags 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.

Valor retornado

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

As tarefas de administração usam o DCOM. O código que chama esse método de interface conforme definido em uma versão anterior do Certadm.h será executado em servidores baseados no Windows, desde que o cliente e o servidor estejam executando o mesmo sistema operacional Windows.

Requisitos

   
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 certadm.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certadm.dll

Confira também

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig