Método IX509CertificateRequest::Encode (certenroll.h)

O método Encode assina e codifica uma solicitação de certificado e cria um par de chaves se uma não existir. A solicitação é codificada usando Distinguished Encoding Rules (DER) conforme definido pelo padrão ASN.1 (Abstract Syntax Notation One). O processo de codificação cria uma matriz de bytes. Você pode recuperar a matriz de bytes chamando a propriedade RawData .

Sintaxe

HRESULT Encode();

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_ARCHIVED_KEY_REQUIRED
A propriedade ArchivePrivateKey foi definida para uma solicitação CMC, mas não foi possível encontrar um certificado de troca de chaves.
OLE_E_BLANK
O objeto não é inicializado.

Comentários

Para uma solicitação PKCS nº 10, este método:

  • Atualizações a chave privada ou cria a chave, se necessário.
  • Preenche a chave pública da chave privada.
  • Atualizações as extensões, adicionando quaisquer extensões padrão e levando em conta a coleção OID suprimida e a coleção OID de extensão crítica.
  • Atualizações os atributos, adicionando atributos padrão e levando em conta a coleção OID suprimida.
  • Monta e codifica a solicitação atualizada sem sinal.
  • Cria e codifica uma assinatura.
  • Codifica a assinatura e a solicitação não assinada.

Para uma solicitação CMC, este método:

  • Codifica todos os objetos de solicitação interna.
  • Atualizações as extensões do objeto de solicitação externa, adicionando quaisquer extensões padrão e levando em conta a coleção OID suprimida e a coleção OID de extensão crítica.
  • Atualizações os atributos do objeto de solicitação externa, adicionando atributos padrão e levando em conta a coleção OID suprimida.
  • Atualizações a coleção de pares nome-valor.
  • Codifica o conteúdo do CMC que consiste na solicitação interna codificada e na solicitação externa atualizada.
  • Cria e codifica uma assinatura para cada certificado de assinatura.
  • Cria e codifica uma assinatura primária.
  • Monta o conteúdo CMC codificado (incluindo a solicitação interna e a solicitação externa atualizada) e as assinaturas codificadas.
  • Codifica o conteúdo montado em uma mensagem PKCS nº 7.

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

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation