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

El método Encode firma y codifica una solicitud de certificado y crea un par de claves si no existe uno. La solicitud se codifica mediante reglas de codificación distinguida (DER) tal como se define en el estándar Notación de sintaxis abstracta Uno (ASN.1). El proceso de codificación crea una matriz de bytes. Puede recuperar la matriz de bytes llamando a la propiedad RawData .

Sintaxis

HRESULT Encode();

Valor devuelto

Si la función se realiza correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código o valor devuelto Descripción
CERTSRV_E_ARCHIVED_KEY_REQUIRED
La propiedad ArchivePrivateKey se ha establecido para una solicitud de CMC, pero no se encontró un certificado de intercambio de claves.
OLE_E_BLANK
El objeto no se inicializa.

Comentarios

Para una solicitud PKCS #10, este método:

  • Novedades la clave privada o crea la clave si es necesario.
  • Rellena la clave pública de la clave privada.
  • Novedades las extensiones, agregando las extensiones predeterminadas y teniendo en cuenta la colección OID suprimida y la colección OID de extensión crítica.
  • Novedades los atributos, agregando atributos predeterminados y teniendo en cuenta la colección de OID suprimida.
  • Ensambla y codifica la solicitud actualizada sin firmar.
  • Crea y codifica una firma.
  • Codifica la firma y la solicitud sin firmar.

Para una solicitud de CMC, este método:

  • Codifica todos los objetos de solicitud internos.
  • Novedades las extensiones del objeto de solicitud externa, agregando las extensiones predeterminadas y teniendo en cuenta la colección OID suprimida y la colección OID de extensión crítica.
  • Novedades los atributos del objeto de solicitud externa, agregando atributos predeterminados y teniendo en cuenta la colección OID suprimida.
  • Novedades la colección de pares nombre-valor.
  • Codifica el contenido de CMC que consta de la solicitud interna codificada y la solicitud externa actualizada.
  • Crea y codifica una firma para cada certificado de firma.
  • Crea y codifica una firma principal.
  • Ensambla el contenido de CMC codificado (incluida la solicitud interna y la solicitud externa actualizada) y las firmas codificadas.
  • Codifica el contenido ensamblado en un mensaje PKCS #7.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h
Archivo DLL CertEnroll.dll

Consulte también

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation