Compartilhar via


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

O método Decodificar assina e codifica uma solicitação de certificado e cria um par de chaves se um não existir. A solicitação é codificada usando DER (Distinguished Encoding Rules ), 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();

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_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.

Observações

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

  • Atualiza a chave privada ou cria a chave, se necessário.
  • Popula a chave pública da chave privada.
  • Atualiza as extensões, adicionando extensões padrão e levando em conta a coleção OID suprimida e a coleção OID de extensão crítica.
  • Atualiza 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 do CMC, este método:

  • Codifica todos os objetos de solicitação interna.
  • Atualiza as extensões do objeto de solicitação externa, adicionando extensões padrão e levando em conta a coleção OID suprimida e a coleção OID de extensão crítica.
  • Atualiza os atributos do objeto de solicitação externa, adicionando atributos padrão e levando em conta a coleção OID suprimida.
  • Atualiza 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.

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

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation