Partager via


IX509CertificateRequestPkcs10 ::InitializeFromPublicKey, méthode (certenroll.h)

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

Syntaxe

HRESULT InitializeFromPublicKey(
  [in]           X509CertificateEnrollmentContext Context,
  [in]           IX509PublicKey                   *pPublicKey,
  [in, optional] BSTR                             strTemplateName
);

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.

[in] pPublicKey

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

[in, optional] strTemplateName

Variable BSTR qui contient le nom commun (CN) du modèle tel qu’il apparaît dans Active Directory ou l’identificateur d’objet décimal en pointillés. Il s'agit d'un paramètre facultatif.

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
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L’objet de demande de certificat a déjà été initialisé.

Remarques

Si vous spécifiez un modèle, la méthode InitializeFromPublicKey effectue les actions suivantes :

  • Ajoute les extensions spécifiées dans le modèle facultatif, 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 un modèle est spécifié et 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 les algorithmes symétriques.
  • Définit la propriété AlternateSignatureAlgorithm si le modèle nécessite un OID d’algorithme de signature discrète.
  • 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 OID d’algorithme de chiffrement asymétrique si l’algorithme est spécifié dans le modèle et le définit sur l’objet IX509SignatureInformation .

Que vous spécifiiez un modèle ou non, 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 par null. Par conséquent, la méthode définit la propriété NullSigned sur l’objet IX509SignatureInformation .

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

IX509CertificateRequestPkcs10