Ix509CertificateRequest ::Encode, méthode (certenroll.h)

La méthode Encode signe et encode une demande de certificat et crée une paire de clés si elle n’en existe pas. La requête est encodée à l’aide de Distinguished Encoding Rules (DER) tel que défini par la norme ASN.1 (Abstract Syntax Notation One). Le processus d’encodage crée un tableau d’octets. Vous pouvez récupérer le tableau d’octets en appelant la propriété RawData .

Syntaxe

HRESULT Encode();

Valeur de retour

Si la fonction réussit, la fonction retourne S_OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code/valeur de retour Description
CERTSRV_E_ARCHIVED_KEY_REQUIRED
La propriété ArchivePrivateKey a été définie pour une requête CMC, mais un certificat d’échange de clé est introuvable.
OLE_E_BLANK
L’objet n’est pas initialisé.

Remarques

Pour une requête PKCS #10, cette méthode :

  • Mises à jour la clé privée ou crée la clé si nécessaire.
  • Remplit la clé publique à partir de la clé privée.
  • Mises à jour les extensions, en ajoutant les extensions par défaut et en tenant compte de la collection OID supprimée et de la collection OID d’extension critique.
  • Mises à jour les attributs, en ajoutant des attributs par défaut et en tenant compte de la collection OID supprimée.
  • Assemble et encode la requête mise à jour non signée.
  • Crée et encode une signature.
  • Encode la signature et la demande non signée.

Pour une requête CMC, cette méthode :

  • Encode tous les objets de requête internes.
  • Mises à jour les extensions de l’objet de requête externe, en ajoutant toutes les extensions par défaut et en tenant compte de la collection OID supprimée et de la collection OID d’extension critique.
  • Mises à jour les attributs de l’objet de requête externe, en ajoutant des attributs par défaut et en tenant compte de la collection OID supprimée.
  • Mises à jour la collection de paires nom-valeur.
  • Encode le contenu CMC qui se compose de la requête interne encodée et de la requête externe mise à jour.
  • Crée et encode une signature pour chaque certificat de signature.
  • Crée et encode une signature primaire.
  • Assemble le contenu CMC encodé (y compris la requête interne et la requête externe mise à jour) et les signatures encodées.
  • Encode le contenu assemblé dans un message PKCS #7.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certenroll.h
DLL CertEnroll.dll

Voir aussi

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation