Share via


Método IX509Enrollment2::InstallResponse2 (certenroll.h)

O método InstallResponse2 instala uma cadeia de certificados no computador da entidade final. A matriz de bytes que contém a resposta é codificada usando Distinguished Encoding Rules (DER), conforme definido pelo padrão ASN.1 (Abstract Syntax Notation One). Você deve especificar a matriz de bytes codificada em DER em uma cadeia de caracteres que seja uma sequência binária pura ou seja codificada por Unicode. Esse método está habilitado para a Web.

Sintaxe

HRESULT InstallResponse2(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword,
  [in]           BSTR                            strEnrollmentPolicyServerUrl,
  [in]           BSTR                            strEnrollmentPolicyServerID,
  [in]           PolicyServerUrlFlags            EnrollmentPolicyServerFlags,
  [in]           X509EnrollmentAuthFlags         authFlags
);

Parâmetros

[in] Restrictions

Um valor de enumeração InstallResponseRestrictionFlags que especifica o tipo de certificados que podem ser instalados. Esse pode ser um ou mais dos valores a seguir.

Valor Significado
AllowNone
Não instale certificados ou certificados não confiáveis para os quais não há nenhuma solicitação correspondente.
AllowNoOutstandingRequest
Crie a chave privada da resposta do certificado em vez do certificado fictício. Isso torna o certificado fictício opcional. Se esse valor não estiver definido, o certificado fictício deverá existir e a chave privada será extraída dele.
AllowUntrustedCertificate
Instale certificados de entidade final e autoridade de certificação não confiáveis. Os certificados de autoridade de certificação incluem certificados de autoridade de certificação raiz e subordinada. Os certificados de entidade final são instalados no repositório pessoal e os certificados de autoridade de certificação são instalados no repositório de autoridades de certificação.
AllowUntrustedRoot
Execute a mesma ação que o sinalizador AllowUntrustedCertificate , mas também instale o certificado mesmo que a cadeia de certificados não possa ser criada porque a raiz não é confiável.
Nota No Windows Vista, o comportamento desse sinalizador é o mesmo definido para o sinalizador AllowUntrustedCertificate . Você pode instalar uma raiz não confiável começando com o Windows Vista com SP1.
 

[in] strResponse

Uma variável BSTR que contém a resposta codificada em DER.

[in] Encoding

Um valor de enumeração EncodingType que especifica o tipo de codificação aplicado à cadeia de caracteres que contém a resposta codificada em DER.

[in, optional] strPassword

Uma senha opcional para a instalação do certificado. Isso pode ser NULL para indicar que nenhuma senha é usada. Quando terminar de usar a senha, limpe-a da memória chamando a função SecureZeroMemory . Para obter mais informações sobre como proteger a senha, consulte Manipulando senhas.

[in] strEnrollmentPolicyServerUrl

Um BSTR que contém a URL do servidor cep (política de registro de certificado).

[in] strEnrollmentPolicyServerID

Um BSTR que contém um identificador para o servidor CEP.

[in] EnrollmentPolicyServerFlags

Um valor de enumeração PolicyServerUrlFlags . Esse pode ser um dos valores a seguir.

Valor Significado
PsfLocationGroupPolicy
A URL do servidor CEP é especificada na política de grupo por um administrador.
PsfLocationRegistry
A URL do servidor CEP é especificada no registro.
PsfUseClientId
Especifica que os registros e renovações de certificado incluem dados específicos do cliente em um atributo ClientId . Os exemplos incluem o nome do provedor de serviços criptográficos, o número de versão do Windows, o nome de usuário, o nome DNS do computador e o nome DNS do controlador de domínio. Esse sinalizador pode ser definido pela política de grupo.

Esse sinalizador foi incluído para resolver preocupações de privacidade que podem surgir durante o registro em servidores gerenciados por administradores diferentes daqueles que gerenciam a floresta na qual o usuário reside. Ao não definir esse sinalizador, você pode impedir o envio de informações pessoais para administradores não locais.

PsfAutoEnrollmentEnabled
O registro automático de certificado está habilitado.
PsfAllowUnTrustedCA
Especifica que o certificado da AC emissora não precisa ser confiável pelo cliente para instalar um certificado assinado pela AC.

[in] authFlags

Um valor de enumeração X509EnrollmentAuthFlags que especifica o tipo de autenticação do cliente. Para o Windows 7, somente X509AuthCertificate pode ser escolhido entre os valores a seguir.

Valor Significado
X509AuthAnonymous
Autenticação anônima.
X509AuthKerberos
Autenticação Kerberos.
X509AuthUsername
Limpar o nome de usuário de texto e a autenticação de senha.
Nota O nome de usuário e a senha são criptografados antes da transmissão e armazenados com segurança no cofre de credenciais no servidor CEP.
 
X509AuthCertificate
Certificado de autenticação do cliente instalado no computador local e usado pelo servidor para verificar a identidade do cliente.

Retornar valor

Se a função for bem-sucedida, a função retornará S_OK.

Se a função falhar, ela retornará um valor HRESULT que indica o erro. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Código de retorno Descrição
E_ACCESSDENIED
Esse método foi chamado da Web e AllowNoOutstandingRequest ou AllowUntrustedCertificate foi especificado no parâmetro Restrictions .
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW
O comprimento da cadeia de caracteres que contém a senha excede 64 quilobytes.
OLE_E_BLANK
O objeto de registro não foi inicializado.

Comentários

O método InstallResponse2 :

  1. Recupera o certificado fictício do repositório externo.
  2. Recupera o certificado contido na resposta e o instala no computador.
  3. Copia as propriedades do certificado fictício no repositório externo para o certificado recém-instalado no repositório pessoal.

Antes de chamar o método InstallResponse2 , você deve inicializar o objeto IX509Enrollment chamando um dos métodos a seguir.

Se você chamar esse método da Web, poderá especificar apenas AllowNone ou AllowUntrustedRoot no parâmetro Restrictions . Se você especificar AllowNoOutstandingRequest ou AllowUntrustedCertificate, o método retornará um erro de E_ACCESSDENIED .

Os últimos quatro parâmetros (strEnrollmentPolicyServerUrl, strEnrollmentPolicyServerID, EnrollmentPolicyServerFlags e authFlags) não estão incluídos no método InstallResponse . Eles permitem que você adicione um valor de propriedade ao certificado instalado da mesma forma que a interface ICertPropertyEnrollmentPolicyServer .

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 certenroll.h

Confira também

IX509Enrollment2