Share via


Fonctions de clé privée et publique

CertEnroll.dll implémente les interfaces IX509PrivateKey et IX509PublicKey . Vous pouvez, par exemple, utiliser l’interface IX509PrivateKey pour effectuer les actions suivantes sur une clé privée :

  • Créez, ouvrez, fermez, importez, exportez et supprimez la clé.
  • Spécifiez ou récupérez l’algorithme de clé publique.
  • Spécifiez ou récupérez des informations sur le fournisseur de services de chiffrement disponible (fournisseur de solutions Cloud) qui prennent en charge l’algorithme de clé publique.
  • Spécifiez ou récupérez le certificat associé à la clé privée.
  • Spécifiez ou récupérez le nom du conteneur de clés.
  • Spécifiez ou récupérez une description et un nom complet pour la clé.
  • Spécifiez ou récupérez les contraintes d’exportation sur une clé privée.
  • Spécifiez ou récupérez une valeur booléenne qui indique si la clé existe.
  • Spécifiez ou récupérez une valeur qui indique comment la clé est protégée avant l’utilisation.
  • Spécifiez ou récupérez une valeur qui indique si la clé peut être utilisée pour la signature, le chiffrement ou les deux.
  • Spécifiez ou récupérez une valeur qui identifie l’objectif spécifique pour lequel la clé peut être utilisée.
  • Spécifiez ou récupérez la longueur de la clé.
  • Spécifiez ou récupérez une valeur qui indique si la clé est utilisée ou enregistrée dans le contexte d’un ordinateur ou d’un utilisateur.
  • Récupérez une valeur booléenne qui spécifie si la clé a été ouverte.
  • Spécifiez un numéro d’identification personnel pour accéder à une clé privée sur une carte à puce.
  • Spécifiez ou récupérez le nom du fournisseur de solutions Cloud associé à la clé.
  • Spécifiez ou récupérez le descripteur de sécurité pour la clé.

Chacune des sections suivantes identifie une fonction exportée par Xenroll.dll qui peut être utilisée pour gérer une clé de chiffrement. Chaque rubrique explique également comment utiliser CertEnroll.dll pour remplacer la fonction ou indique qu’aucun mappage entre les deux bibliothèques n’existe :

ContainerNameWStr

La fonction ContainerNameWStr dans Xenroll.dll spécifie ou récupère le nom du conteneur de clés.

Lorsque vous utilisez CertEnroll.dll, vous pouvez effectuer les actions suivantes pour récupérer le nom d’un conteneur de clés :

  1. Appelez la propriété Request sur un objet IX509Enrollment existant.
  2. Appelez la méthode GetInnerRequest sur la requête retournée à l’étape 1 pour récupérer la requête la plus interne.
  3. Appelez QueryInterface sur l’objet IX509CertificateRequest retourné à l’étape 2 pour effectuer un cast vers un objet IX509CertificateRequestPkcs10 .
  4. Appelez la propriété PrivateKey sur la requête PKCS #10.
  5. Appelez la propriété ContainerName sur l’objet IX509PrivateKey récupéré à l’étape 4.

GenKeyFlags

La fonction GenKeyFlags définie dans Xenroll.dll spécifie ou récupère des indicateurs utilisés pour générer une clé privée ou une paire de clés publique/privée.

Lorsque vous utilisez CertEnroll.dll, vous pouvez spécifier un certain nombre de propriétés différentes qui déterminent la façon dont une clé privée est créée. Pour plus d’informations, consultez Créer.

GetKeyLen

La fonction GetKeyLen définie dans Xenroll.dll récupère la taille de clé maximale ou minimale d’une clé de chiffrement.

Lorsque vous utilisez CertEnroll.dll, vous pouvez appeler la propriété Length sur un objet IX509PrivateKey ou IX509PublicKey pour récupérer la taille de clé, en bits.

GetKeyLenEx

La fonction GetKeyLenEx définie dans Xenroll.dll récupère la taille de clé maximale ou minimale ou la longueur d’incrément d’une clé de chiffrement.

Lorsque vous utilisez CertEnroll.dll, vous pouvez appeler la propriété Length sur un objet IX509PrivateKey ou IX509PublicKey pour récupérer la taille de clé, en bits. Si un algorithme prend en charge les longueurs de clés incrémentielles, vous pouvez appeler la propriété IncrementLength sur l’objet ICspAlgorithm pour récupérer la valeur d’incrémentation. Vous pouvez également appeler les propriétés MinLength et MaxLength pour récupérer les tailles de clé minimale et maximale.

GetSupportedKeySpec

La fonction GetSupportedKeySpec définie dans Xenroll.dll récupère une valeur qui indique si un fournisseur de solutions Cloud prend en charge les clés d’échange, les clés de signature ou les deux.

Lorsque vous utilisez CertEnroll.dll, vous pouvez appeler la propriété KeySpec sur les objets IX509PrivateKey ou ICspInformation pour récupérer les opérations prises en charge par la clé.

KeySpec

La fonction KeySpec définie dans Xenroll.dll spécifie ou récupère le type de clé.

Lorsque vous utilisez CertEnroll.dll, vous pouvez appeler la propriété KeySpec sur un objet IX509PrivateKey pour récupérer les opérations prises en charge par la clé.

LimitExchangeKeyToEncipherment

La fonction LimitExchangeKeyToEncipherment définie dans Xenroll.dll spécifie ou récupère une valeur booléenne qui indique si une clé de chiffrement ne peut être utilisée que pour les données ou l’encipherment de clé.

CertEnroll.dll ne contient pas d’équivalent direct pour cette fonction. Toutefois, vous pouvez obtenir un résultat presque équivalent en spécifiant un objet IX509ExtensionKeyUsage et en l’ajoutant à la demande de certificat.

PVKFileNameWStr

La fonction PVKFileNameWStr définie dans Xenroll.dll spécifie ou récupère le nom d’un fichier qui contient des clés exportées.

Lorsque vous utilisez CertEnroll.dll, vous pouvez appeler la méthode Export sur un objet IX509PrivateKey pour exporter une clé vers un objet BSTR. Vous pouvez appeler la méthode ExportPublicKey pour exporter la partie clé publique d’une paire de clés asymétriques.

ReuseHardwareKeyIfUnableToGenNew

La fonction ReuseHardwareKeyIfUnableToGenNew définie dans Xenroll.dll spécifie ou récupère une valeur booléenne qui indique si une clé existante est réutilisée lorsqu’une erreur est rencontrée lors de la génération d’une nouvelle clé.

Lorsque vous utilisez CertEnroll.dll, vous pouvez appeler la méthode InitializeFromCertificate sur un objet IX509CertificateRequestPkcs10 et spécifier une valeur du type d’énumération X509RequestInheritOptions pour réutiliser une clé privée existante.

UseExistingKeySet

La fonction UseExistingKeySet définie dans Xenroll.dll spécifie ou récupère une valeur booléenne qui indique s’il faut utiliser des clés existantes.

Lorsque vous utilisez CertEnroll.dll, vous pouvez appeler la méthode InitializeFromCertificate sur un objet IX509CertificateRequestPkcs10 et spécifier une valeur du type d’énumération X509RequestInheritOptions pour réutiliser les clés privées et publiques existantes.

Mappage de Xenroll.dll à CertEnroll.dll