Partager via


IX509CertificateRequestPkcs10 ::get_CspStatuses méthode (certenroll.h)

La propriété CspStatuses récupère une collection d’objets ICspStatus qui correspond à l’utilisation prévue de la clé privée associée à la demande de certificat.

Cette propriété est en lecture seule.

Syntaxe

HRESULT get_CspStatuses(
  ICspStatuses **ppValue
);

Paramètres

ppValue

Valeur de retour

None

Remarques

Cette propriété récupère une collection d’objets ICspStatus . Chaque objet représente une seule paire fournisseur/algorithme. La propriété CspStatuses diffère de la méthode GetCspStatuses . La méthode vous permet de définir un paramètre KeySpec , mais CspStatuses utilise la propriété KeySpec définie sur la clé privée associée à l’objet IX509CertificateRequestPkcs10 . Il peut s’agir de l’une des valeurs suivantes.

Valeur Description
XCN_AT_NONE Api de chiffrement uniquement : les fournisseurs CNG (Next Generation) sont sélectionnés.
XCN_AT_KEYEXCHANGE Seuls les fournisseurs de services de chiffrement CryptoAPI avec des algorithmes de chiffrement (y compris l’échange de clés) sont sélectionnés.
XCN_AT_SIGNATURE Seuls les fournisseurs de services de chiffrement CryptoAPI avec des algorithmes de signature sont sélectionnés.
 

Si vous spécifiez un modèle lors de l’initialisation de l’objet de requête, les attributs de modèle tels que pKIDefaultCSPs et pKIDefaultKeySpec affectent les paires fournisseur/algorithme initialement activées dans la collection. Vous pouvez appeler les propriétés suivantes sur chaque objet ICspStatus pour récupérer des informations sur une paire :

  • La propriété CspInformation récupère les informations du fournisseur.
  • La propriété CspAlgorithm récupère les informations de l’algorithme.
  • La propriété EnrollmentStatus récupère un objet IX509EnrollmentStatus . Appelez la propriété Selected sur l’objet status pour déterminer si la paire fournisseur/algorithme est activée pour cette requête.
  • La propriété Ordinal récupère la position dans la collection de la paire fournisseur/algorithme.

La collection récupérée par cette méthode est enregistrée en interne sur l’objet de demande. La collection existe tant que l’objet PKCS #10 continue d’exister.

Supposons, par exemple, que la propriété KeySpec sur la clé privée associée à l’objet de requête soit définie sur XCN_AT_SIGNATURE et qu’un modèle soit utilisé pour initialiser la demande. Les instructions suivantes ont la valeur true :

  • Une collection d’objets ICspStatus est créée et enregistrée sur l’objet IX509CertificateRequestPkcs10 . La collection contient toutes les paires fournisseur/algorithme valides installées sur l’ordinateur.
  • Étant donné que la propriété KeySpec n’est pas définie sur XCN_AT_NONE, la propriété Selected est définie sur SelectedNo pour chaque paire fournisseur/algorithme CNG (CNG) dans la collection.
  • Étant donné que la propriété KeySpec n’est pas définie sur XCN_AT_KEYEXCHANGE, la propriété Selected est définie sur SelectedNo pour chaque paire CSP/algorithme CryptoAPI de la collection où l’algorithme peut uniquement être utilisé pour chiffrer des données ou archiver une clé.
  • Pour chaque fournisseur référencé par le modèle ou la clé privée mais non pris en charge sur l’ordinateur, un objet ICspStatus d’espace réservé est créé et ajouté à la collection et la propriété Selected est définie sur SelectedNo.
  • La propriété Selected est définie sur SelectedYes pour chaque paire CSP/algorithme CryptoAPI où l’algorithme ne peut être utilisé que pour signer des données.
  • La propriété Ordinal est définie pour refléter l’ordre CSP, le cas échéant, identifié par l’attribut de modèle pKIDefaultCSPs . Les fournisseurs de services partagés répertoriés en premier par l’attribut sont classés en premier dans la collection. Cette propriété est utilisée lors de l’inscription si une clé privée doit être créée. La première paire CSP/algorithme sélectionnée est utilisée pour créer la clé, mais si l’opération échoue, la paire sélectionnée suivante est essayée.

Vous devez initialiser l’objet IX509CertificateRequestPkcs10 avant d’appeler cette méthode. Pour plus d’informations, consultez l’une des méthodes suivantes :

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

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

ICspStatus

IX509CertificateRequestPkcs10