Método ICertAdmin::SetRequestAttributes (certadm.h)
O método SetRequestAttributes define atributos na solicitação de certificado pendente especificada. Esse método foi definido pela primeira vez na interface ICertAdmin .
Para que esse método seja bem-sucedido, a solicitação de certificado deve estar pendente.
Sintaxe
HRESULT SetRequestAttributes(
[in] const BSTR strConfig,
[in] LONG RequestId,
[in] const BSTR strAttributes
);
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.
[in] RequestId
Especifica a ID da solicitação que recebe os atributos.
[in] strAttributes
Especifica os dados do atributo. Cada atributo é um par de cadeia de caracteres nome-valor. O caractere de dois-pontos separa o nome e o valor e um caractere de nova linha separa vários pares nome-valor, por exemplo:
C++ | AttributeName1:AttributeValue1\nAttributeName2:AttributeValue2 |
VB | AttributeName1:AttributeValue1 & vbNewLine & AttributeName2:AttributeValue2 |
Quando os Serviços de Certificado analisam nomes de atributo, ele ignora espaços, hifens (sinais de menos) e maiúsculas e minúsculas. Por exemplo, AttributeName1, Attribute Name1 e Attribute-name1 são todos equivalentes. Para valores de atributo, os Serviços de Certificados ignoram o espaço em branco à esquerda e à direita.
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
Atributos adicionados ou atualizados chamando SetRequestAttributes não alteram a cadeia de caracteres de atributo inicial e nãoparsada associada à solicitação de certificado. A cadeia de caracteres de atributo nãoparsada da solicitação de certificado é inalterável depois que o certificado é solicitado (o método ICertRequest::Submit permite que os atributos sejam especificados no momento em que o certificado é solicitado).
Você pode usar o snap-in MMC da Autoridade de Certificação para exibir a cadeia de caracteres de atributo de solicitação inicial nãoparsada.
Ao exibir os atributos analisados, você também verá as alterações devido a chamadas para SetRequestAttributes.
Para exibir os atributos analisados
- Abra o snap-in MMC da Autoridade de Certificação.
- Abra a pasta Solicitações Pendentes .
- Clique com o botão direito do mouse em uma solicitação, aponte para Todas as Tarefas e clique em Exibir Atributos/Extensões.
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.
Exemplos
BSTR bstrAttribs = NULL;
BSTR bstrCA = NULL;
long nReqID; // request ID
// Specify the attributes.
// For example, "AttName1:AttValue1\nAttName2:AttValue2".
bstrAttribs = SysAllocString(L"<ATTRIBUTESHERE>");
if (NULL == bstrAttribs)
{
printf("Memory allocation failed for bstrAttribs.\n");
goto error;
}
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Memory allocation failed for bstrCA.\n");
goto error;
}
// Request ID to receive the attributes.
nReqID = <REQUESTIDHERE>;
// Add these attributes to the certificate.
// pCertAdmin is a previously instantiated
// ICertAdmin object pointer.
hr = pCertAdmin->SetRequestAttributes( bstrCA,
nReqID,
bstrAttribs );
if (FAILED(hr))
printf("Failed SetRequestAttributes [%x]\n", hr);
else
printf("SetRequestAttributes succeeded\n");
// Done processing.
error:
if (bstrAttribs)
SysFreeString(bstrAttribs);
if (bstrCA)
SysFreeString(bstrCA);
// Free other resources.
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 | certadm.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
DLL | Certadm.dll |