Partager via


IX509CertificateRequestCmc2 ::InitializeFromInnerRequestTemplate, méthode (certenroll.h)

La méthode InitializeFromInnerRequestTemplate initialise la demande de certificat à partir d’un objet de requête interne et d’un modèle.

Syntaxe

HRESULT InitializeFromInnerRequestTemplate(
  [in] IX509CertificateRequest     *pInnerRequest,
  [in] IX509EnrollmentPolicyServer *pPolicyServer,
  [in] IX509CertificateTemplate    *pTemplate
);

Paramètres

[in] pInnerRequest

Pointeur vers une interface IX509CertificateRequest qui représente l’objet de requête interne. Il peut s’agir d’une requête PKCS #10 ou CMC.

[in] pPolicyServer

Pointeur vers un objet IX509EnrollmentPolicyServer qui représente le serveur de stratégie d’inscription de certificat (CEP) qui contient le modèle spécifié par le paramètre pTemplate .

[in] pTemplate

Pointeur vers un objet IX509CertificateTemplate qui représente le modèle à utiliser pendant l’initialisation.

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 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
CRYPT_E_INVALID_MSG_TYPE
L’objet de requête passé au paramètre pInnerRequest doit être une requête PKCS #10 ou CMC.
E_POINTER
Les paramètres pInnerRequest, pPolicyServer et pTemplate ne peuvent pas être NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L’objet de requête a déjà été initialisé.

Remarques

En spécifiant un modèle, vous pouvez ajouter des informations à l’objet de requête externe qui peuvent ne pas être contenues dans la requête interne. Par exemple, si la requête interne ne contient pas les extensions nécessaires, vous pouvez fournir un modèle qui le fait.

Méthode InitializeFromInnerRequestTemplate :

  • Crée une collection ICryptAttributes vide.
  • Crée une collection IX509NameValuePairs vide.
  • Crée une collection IX509Extensions vide.
  • Crée une collection IObjectIds pour les extensions critiques et ajoute les identificateurs d’objet XCN_OID_KEY_USAGE et XCN_OID_BASIC_CONSTRAINTS2.
  • Crée une collection IObjectIds vide d’OID à supprimer de l’objet de requête.
  • Crée une collection ISignerCertificates vide.
  • Récupère les indicateurs de clé privée à partir du modèle.
  • Définit la propriété ArchivePrivateKey si nécessaire par les indicateurs ou paramètres du modèle.
  • Récupère l’algorithme de chiffrement à partir du modèle s’il est spécifié et définit la propriété EncryptionAlgorithm .
  • Définit la propriété EncryptionStrength si possible.

Configuration requise

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

Voir aussi

IX509CertificateRequestCmc2