Método IX509Enrollment::InstallResponse (certenroll.h)
O método InstallResponse instala uma cadeia de certificados no computador de 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 esteja codificada em Unicode. Esse método está habilitado para a Web.
Sintaxe
HRESULT InstallResponse(
[in] InstallResponseRestrictionFlags Restrictions,
[in] BSTR strResponse,
[in] EncodingType Encoding,
[in, optional] BSTR strPassword
);
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 |
---|---|
|
Não instale certificados ou certificados não confiáveis para os quais não há nenhuma solicitação correspondente. |
|
Crie a chave privada a partir 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. |
|
Instale certificados de autoridade de certificação e entidade final 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 são instalados no repositório de autoridades de certificação. |
|
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 . A partir do Windows Vista com o SP1, você pode instalar um certificado que se encadeia a uma raiz não confiável.
|
[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 ou uma cadeia de caracteres vazia para indicar que nenhuma senha é usada. Se houver uma senha, limpe-a da memória quando terminar de usá-la chamando a função SecureZeroMemory . Para obter mais informações sobre como proteger a senha, consulte Manipulando senhas.
A partir do Windows 8 e do Windows Server 2012, uma senha NULL ou vazia pode significar que o pacote PFX foi criado na função PFXExportCertStoreEx usando o sinalizador PKCS12_PROTECT_TO_DOMAIN_SIDS . Nesse caso, o PFX foi criptografado para um grupo do Active Directory. Para obter mais informações, consulte PFXExportCertStoreEx e PFXImportCertStore.
Valor retornado
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 |
---|---|
|
Esse método foi chamado da Web e AllowNoOutstandingRequest ou AllowUntrustedCertificate foi especificado no parâmetro Restrictions . |
|
O comprimento da cadeia de caracteres que contém a senha excede 64 quilobytes. |
|
O objeto de registro não foi inicializado. |
Comentários
O método InstallResponse :
- Recupera o certificado fictício do repositório externo.
- Recupera o certificado contido na resposta e o instala no computador.
- 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 InstallResponse , você deve inicializar o objeto IX509Enrollment chamando um dos métodos a seguir.
Se você chamar esse método da Web, poderá especificar somente AllowNone ou AllowUntrustedRoot no parâmetro Restrictions . Se você especificar AllowNoOutstandingRequest ou AllowUntrustedCertificate, o método retornará um erro E_ACCESSDENIED .
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |
DLL | CertEnroll.dll |