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.
[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 |