Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O método SetCredential define a credencial usada para contatar o Serviço Web de Registro de Certificado.
Sintaxe
HRESULT SetCredential(
[in] LONG hWnd,
[in] X509EnrollmentAuthFlags AuthType,
[in] BSTR strCredential,
[in] BSTR strPassword
);
Parâmetros
[in] hWnd
Um identificador para a janela pai.
Você deve definir o parâmetro hWnd em que há uma interface do usuário apresentada para obter a credencial.
Para autorização baseada em certificado, o identificador será usado se um prompt de interface do usuário for necessário para obter a credencial, por exemplo, se a credencial estiver em um cartão inteligente e um prompt de fixação for necessário.
Ao usar Kerberos, anônimo ou nome de usuário e autenticação de senha, esse parâmetro é ignorado.
[in] AuthType
Um valor da enumeração X509EnrollmentAuthFlags que especifica o tipo de autenticação.
| Valor | Significado |
|---|---|
|
Autenticação anônima.
Defina os parâmetros strCredential e strPassword comoNULL ou como cadeias de caracteres vazias. |
|
Certificado de autenticação do cliente instalado no computador local. O certificado contém uma chave pública associada a uma chave privada (não contida no certificado). O certificado é usado pelo servidor para verificar a identidade do cliente.
O parâmetro strCredential contém um hash SHA-1 binário de 20 bytes do certificado a ser passado para o Serviço Web de Registro de Certificado para autenticar o chamador. Defina o parâmetro strPassword comoNULL ou uma cadeia de caracteres vazia. O parâmetro strCredential deve se referir a um certificado instalado no repositório de certificados pessoais relevante e deve ter uma chave privada associada acessível ao chamador. |
|
Autenticação Kerberos.
Defina os parâmetros strCredential e strPassword comoNULL ou como cadeias de caracteres vazias. |
|
Autenticação de senha e nome de usuário de texto sem formatação. O nome de usuário e a senha são criptografados quando são armazenados no cofre de credenciais no cliente.
Os parâmetros strCredential e strPassword contêm uma cadeia de caracteres de nome de usuário e uma senha de texto não criptografado com suporte do Serviço Web de Registro de Certificado para autenticar o chamador. Como uma conexão de serviço de registro sempre usa o protocolo SSL ( Secure Sockets Layer ), a senha é criptografada quando enviada pela transmissão. |
[in] strCredential
Uma cadeia de caracteres que contém a credencial.
[in] strPassword
Uma cadeia de caracteres que contém a senha.
Retornar valor
| Código de retorno | Descrição |
|---|---|
|
O parâmetro AuthType deve ser X509AuthKerberos. |
Comentários
O método SetCredential deve ser chamado antes de chamar o método ICertRequest2::Submit .
Os argumentos strCredential e strPassword mudam dependendo do valor especificado no parâmetro AuthType , conforme mostrado na tabela a seguir.
| Parâmetro AuthType | Parâmetro strCredential | Parâmetro strPassword |
|---|---|---|
| X509AuthAnonymous | NULL | NULL |
| X509AuthCertificate | Um hash SHA-1 de 20 bytes (impressão digital) do certificado | NULL |
| X509AuthKerberos | NULL | NULL |
| X509AuthUsername | Um nome de usuário de texto não criptografado reconhecido pelo Serviço Web de Registro de Certificado | Uma senha de texto sem formatação associada ao nome de usuário |
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
| Plataforma de Destino | Windows |
| Cabeçalho | certcli.h (inclua Certsrv.h) |
| Biblioteca | Certidl.lib |
| DLL | Certcli.dll |