Partilhar via


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 DER (Distinguished Encoding Rules ), 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.

Valor de retorno

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 valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT Comuns.

Código/valor de retorno Description
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.

Observações

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, talvez não haja 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 chaves de cartão inteligente. Os certificados de logon de cartão inteligente são codificados no repositório de solicitações, não no repositório pessoal.

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

Requirements

Requirement Value
Cliente mínimo suportado Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header certenroll.h
de DLL CertEnroll.dll

Consulte também

IX509CertificateRequest

IX509Enrollment