Método ICertRequest3::SetCredential (certcli.h)
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 |