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 |
---|---|
|
Não instale certificados ou certificados não confiáveis para os quais não há nenhuma solicitação correspondente. |
|
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. |
|
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. |
|
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.
[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.
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 |
---|---|
|
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 InstallResponse2 :
- 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 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 |