Método IX509Enrollment::CreateRequest (certenroll.h)

O método CreateRequest recupera uma solicitação de certificado codificada. A solicitação de certificado está contida em uma matriz de bytes codificada usando Distinguished Encoding Rules (DER), conforme definido pelo padrão ASN.1 (Abstract Syntax Notation One). A matriz de bytes codificada em DER é representada por uma cadeia de caracteres que é uma sequência binária pura ou codificada por Unicode. Esse método está habilitado para a Web.

Sintaxe

HRESULT CreateRequest(
  [in]  EncodingType Encoding,
  [out] BSTR         *pValue
);

Parâmetros

[in] Encoding

Um valor de enumeração EncodingType que especifica o tipo de codificação Unicode aplicada à solicitação codificada em DER. O valor padrão é XCN_CRYPT_STRING_BASE64.

[out] pValue

Ponteiro para uma variável BSTR que contém a solicitação codificada em DER.

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.

Valor/código retornado Descrição
CERTSRV_E_PROPERTY_EMPTY
A solicitação de certificado não pode ser encontrada.
OLE_E_BLANK
O objeto de registro não foi inicializado.

Comentários

O método CreateRequest chama o método Encode , se necessário, para codificar os dados brutos do objeto de solicitação associado.

Esse método usa as informações fornecidas durante a inicialização e outras propriedades que foram especificadas, cria um certificado fictício e o coloca no repositório de solicitações. O método também cria um par de chaves, se necessário. Dependendo de como você inicializa o objeto de registro e em quais propriedades você definiu, pode não haver necessidade de criar um par de chaves. Por exemplo, se você estiver renovando um certificado usando uma chave existente ou se o objeto IX509PrivateKey associado à solicitação de certificado representar uma chave existente, esse método não criará um novo par de chaves.

Se um cartão inteligente estiver envolvido, esse método codificará propriedades externas como extensões, incluirá-as no certificado fictício e gravará o certificado fictício no contêiner de chave de cartão inteligente. Os certificados de logon de cartão inteligente são codificados para o repositório de solicitações, não para o repositório pessoal.

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

Requisitos

Requisito Valor
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

Confira também

IX509CertificateRequest

IX509Enrollment