Partager via


IX509CertificateRequestPkcs10V2 ::InitializeFromPublicKeyTemplate, méthode (certenroll.h)

La méthode InitializeFromPublicKeyTemplate initialise une demande de certificat signée null à l’aide d’un objet IX509PublicKey et d’un modèle.

Syntaxe

HRESULT InitializeFromPublicKeyTemplate(
  [in] X509CertificateEnrollmentContext Context,
  [in] IX509PublicKey                   *pPublicKey,
  [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.

Valeur Meaning
ContextUser
Le certificat est demandé pour un utilisateur final.
ContextMachine
Le certificat est demandé pour un ordinateur.
ContextAdministratorForceMachine
Le certificat est demandé par un administrateur agissant au nom d’un ordinateur.

[in] pPublicKey

Pointeur vers une interface IX509PublicKey qui représente la clé publique.

[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 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
E_POINTER
Les paramètres pPublicKey, pPolicyServer ou pTemplate sont NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L’objet de demande de certificat a déjà été initialisé.

Remarques

La méthode InitializeFromPublicKeyTemplate effectue les actions suivantes :

  • Ajoute les extensions spécifiées dans le modèle, le cas échéant, à la collection IX509Extensions .
  • Crée une collection CriticalExtensions et la remplit avec les identificateurs d’objet XCN_OID_KEY_USAGE et XCN_OID_BASIC_CONSTRAINTS2 par défaut. Si le modèle indique que ces OID ne sont pas critiques, ils sont supprimés de la collection. Les OID marqués comme critiques par le modèle, le cas échéant, 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 discret OID.
  • Crée un objet IX509SignatureInformation .
  • Crée un OID d’algorithme de hachage 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 .

Si la propriété CSPInformations n’est pas spécifiée, la méthode crée une collection ICspInformations à partir des fournisseurs installés sur l’ordinateur.

La méthode ne crée pas de clé privée. L’utilisation de cette méthode implique que la requête est signée null. Par conséquent, la méthode définit la propriété NullSigned sur l’objet IX509SignatureInformation .

Spécifications

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

Voir aussi

IX509CertificateRequestPkcs10V2