Share via


Método ICertGetConfig::GetConfig (certcli.h)

O método GetConfig recupera a cadeia de caracteres de configuração para um servidor dos Serviços de Certificados .

A cadeia de caracteres de configuração é o nome do servidor e o nome da AC (autoridade de certificação ) separados por uma barra invertida (\); por exemplo: ServerName\CAName. Essa cadeia de caracteres de configuração pode ser usada para se referir sem ambiguidade a um servidor específico dos Serviços de Certificados. Para obter mais informações, consulte Comentários.

Sintaxe

HRESULT GetConfig(
  [in]  LONG Flags,
  [out] BSTR *pstrOut
);

Parâmetros

[in] Flags

Valor que especifica a AC a ser usada. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
CC_DEFAULTCONFIG
0x00000000
Recupera a AC padrão.
CC_FIRSTCONFIG
0x00000002
Retorna a primeira AC.
CC_LOCALACTIVECONFIG
0x00000004
Recupera a AC local se ela estiver em execução.
CC_LOCALCONFIG
0x00000003
Recupera a AC local.
CC_UIPICKCONFIG
0x00000001
Exibe uma interface do usuário que permite que o usuário selecione uma AC.
CC_UIPICKCONFIGSKIPLOCALCA
0x00000005
Exibe uma interface do usuário que permite que o usuário selecione uma AC. A interface do usuário exclui qualquer AC local. Essa exclusão é útil durante a renovação de certificado de AC subordinada quando a solicitação de certificado de AC subordinada é enviada a uma AC diferente da AC atual.

[out] pstrOut

Um ponteiro para um BSTR que contém a configuração. Quando terminar de usar a configuração, chame a função SysFreeString para liberar pbstrOut.

Retornar valor

Se a função for bem-sucedida, o valor retornado será S_OK.

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

Comentários

A parte do nome da AC (autoridade de certificação ) da cadeia de caracteres de configuração retornada por essa função é o texto exato inserido durante o processo de instalação dos Serviços de Certificados. Observe que esse texto pode ser diferente da forma do nome da AC encontrado em nomes de arquivo (como para a lista de revogação de certificado) ou em chaves do Registro. Isso ocorre porque os nomes de arquivo e as chaves do Registro usam uma versão higienizada do nome da AC.

O processo de limpeza do nome da AC é necessário para remover caracteres inválidos para nomes de arquivo, nomes de chave do Registro ou valores de nome diferenciados ou inválidos por motivos específicos dos Serviços de Certificados. No processo de limpeza, qualquer caractere inválido no nome comum é convertido em uma representação de cinco caracteres no formato !xxxx, em que o ponto de exclamação (!) é usado como um caractere de escape e xxxx representa quatro dígitos hexadecimal que identificam exclusivamente o caractere a ser convertido.

Por exemplo, o sinal de número (#) não é permitido em nomes distintos no serviço de diretório do Active Directory. Se o nome da AC inserido durante a instalação for #YourName, o nome da AC sanitizada será !0023YourName.

Os caracteres a seguir, se inseridos para o nome comum da AC durante a instalação, são convertidos no !Formato xxxx durante o processo de limpeza. Esta lista está sujeita a alterações.

Caractere Valor no formato !xxxx
< !003c
> !003e
" !0022
/ !002f
\ !005c
: !003a
| !007c
? !003f
* !002a
# !0023
, !002c
+ !002b
; !003b
! !0021
 

Todos os caracteres não imprimíveis e todos os caracteres Unicode que não são de sete bits também são convertidos no !Formato xxxx .

Um nome curto higienizado é gerado quando o nome higienizado é muito longo para um RDN ( nome diferenciado relativo) dos serviços de diretório de 64 caracteres. O nome curto higienizado consiste no nome sanitizado truncado e acrescentado com um hash do nome todo sanitizado. O nome curto higienizado reserva alguns dos 64 caracteres para conter sufixos de CRL ( lista de certificados revogados ), como (123).

A parte do nome da AC da cadeia de caracteres de configuração retornada por esse método é o texto original inserido durante a instalação. Observe que os métodos dos Serviços de Certificados que exigem um nome de AC como parâmetro aceitam o nome da AC inserida originalmente. Por exemplo, para o nome # da AC YourName, o
O método ICertView2::OpenConnection aceita #YourName como a parte da AC do parâmetro.

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

Confira também

ICertConfig2::GetConfig

ICertGetConfig

ICertView2::OpenConnection