Partager via


IX509CertificateRequestPkcs7 ::InitializeDecode, méthode (certenroll.h)

La méthode InitializeDecode décode un objet de requête PKCS #7 signé ou non signé existant et l’utilise pour initialiser le nouvel objet PKCS #7. La requête existante est contenue dans un tableau d’octets qui a été encodé à l’aide de règles d’encodage unique (DER), comme défini par la norme ASN.1 ( Abstract Syntax Notation One ). Le tableau d’octets est représenté par une chaîne qui est une séquence binaire pure ou est encodée en Unicode.

Syntaxe

HRESULT InitializeDecode(
  [in] BSTR         strEncodedData,
  [in] EncodingType Encoding
);

Paramètres

[in] strEncodedData

Variable BSTR qui contient la requête encodée par DER.

[in] Encoding

Valeur d’énumération EncodingType qui spécifie le type d’encodage Unicode appliqué à la chaîne d’entrée qui contient la requête codée par DER. La valeur par défaut est XCN_CRYPT_STRING_BASE64.

Valeur retournée

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 incluent, mais ne sont pas limitées à celles du tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Retourner le code/la valeur Descriptif
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L’objet de requête a déjà été initialisé.

Remarques

Méthode InitializeDecode :

  • Décode la requête PKCS #7 spécifiée lors de l’entrée.
  • Utilise l’objet décodé pour créer une requête PKCS #10 interne avec les collections suivantes :
  • Ajoute les extensions décodées à la collection IX509Extensions .
  • Ajoute les attributs décodés à la collection ICryptAttributes
  • Définit la propriété ClientId .
  • Définit la propriété TemplateObjectId .
  • Utilise la signature sur la requête PKCS #7 d’origine pour créer un objet ISignerCertificate .
  • Récupère un objet IX509SignatureInformation à partir de l’objet ISignerCertificate .
  • Initialise le nouvel objet IX509SignatureInformation à l’aide des algorithmes de signature et de hachage d’origine.
  • Définit la requête PKCS #10 comme objet de requête interne.

Par défaut, la méthode InitializeDecode suppose que la demande de certificat à décoder est destinée à un utilisateur final. À compter de Windows 8 et Windows Server 2012, vous pouvez modifier ce comportement par défaut. Après avoir créé une instance de l’interface IX509CertificateRequestPkcs7 , appelez InitializeDecode en définissant le paramètre Encoding sur XCN_CRYPT_STRING_BINARY et le paramètre strEncodedData sur l’une des valeurs suivantes :

Valeur Descriptif
L"ContextMachine » La demande de certificat encodée concerne un ordinateur.
L"ContextUser » La demande de certificat encodée concerne un utilisateur final.
L"ContextAdministratorForceMachine » Le certificat encodé est demandé par un administrateur agissant au nom d’un ordinateur.
 

Ensuite, appelez à nouveau la méthode InitializeDecode avec le jeu de certificats encodé dans l’argument strEncodedData .

Spécifications

Requirement Valeur
Client minimum requis Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
plateforme cible Fenêtres
Header certenroll.h
DLL CertEnroll.dll

Voir aussi

IX509CertificateRequestPkcs7