IX509CertificateRequestPkcs7V2::InitializeFromTemplate, méthode (certenroll.h)
La méthode InitializeFromTemplate initialise la demande de certificat à l’aide d’un modèle.
Syntaxe
HRESULT InitializeFromTemplate(
[in] X509CertificateEnrollmentContext context,
[in] IX509EnrollmentPolicyServer *pPolicyServer,
[in] IX509CertificateTemplate *pTemplate
);
Paramètres
[in] context
Valeur d’énumération X509CertificateEnrollmentContext qui spécifie si le certificat demandé est destiné à un utilisateur final, un ordinateur ou un administrateur agissant pour le compte de l’ordinateur. Il peut s’agir de l’une des valeurs suivantes.
[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 |
---|---|
|
Le paramètre pTemplate ne peut pas être NULL. |
|
L’objet de demande de certificat a déjà été initialisé. |
Remarques
La méthode InitializeFromTemplate crée un objet de requête PKCS #7 et définit les propriétés suivantes sur les valeurs qui existaient avant l’appel de cette méthode :
La méthode crée les collections suivantes :- Collection ICryptAttributes .
- Collection IX509Extensions .
- Collection IObjectIds remplie avec les identificateurs d’objet XCN_OID_KEY_USAGE et XCN_OID_BASIC_CONSTRAINTS2 par défaut.
- Collection IObjectIds vide pour les OID d’attribut et d’extension à supprimer de la nouvelle requête.
La méthode examine ensuite le modèle et effectue les actions suivantes :
- Ajoute les extensions spécifiées par le modèle à la collection IX509Extensions .
- Supprime les extensions critiques par défaut (XCN_OID_KEY_USAGE et XCN_OID_BASIC_CONSTRAINTS2) de la collection si le modèle indique qu’elles ne sont pas critiques. Les OID marqués comme critiques par le modèle sont ajoutés.
- Définit la propriété SmimeCapabilities si le modèle prend en charge des algorithmes symétriques.
- Définit la propriété AlternateSignatureAlgorithm si le modèle nécessite un algorithme de signature discrète OID.
- Crée un objet IX509SignatureInformation .
- Crée un algorithme de hachage OID si l’algorithme est spécifié dans le modèle et le définit sur l’objet IX509SignatureInformation .
- Crée un algorithme de chiffrement asymétrique OID si l’algorithme est spécifié dans le modèle et le définit sur l’objet IX509SignatureInformation .
- Remplit la plupart des propriétés IX509PrivateKey à partir des paramètres du modèle.
Si la propriété CSPInformations a la valeur NULL, la méthode crée une collection ICspInformations à partir des fournisseurs installés sur l’ordinateur.
Enfin, la méthode définit la requête PKCS #10 initialisée en tant qu’objet de requête interne.
Configuration requise
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 |