Fonctions de chiffrement
Les fonctions de chiffrement sont classées en fonction de l’utilisation comme suit :
- CryptXML, fonctions
- Fonctions de signataire
- Fonctions de chiffrement de base
- Fonctions de certificat et de magasin de certificats
- MakeCert, fonctions
- Fonctions de vérification des certificats
- Fonctions de message
- Fonctions auxiliaires
- Fonctions de sauvegarde et de restauration des services de certificats
- Fonctions de rappel
- Fonctions de définition de catalogue
- Fonctions de catalogue
- WinTrust, fonctions
- Fonctions du localisateur d’objets
CryptXML, fonctions
Les fonctions XML de chiffrement fournissent une API pour créer et représenter des signatures numériques à l’aide de données au format XML. Pour plus d’informations sur les signatures au format XML, consultez la XML-Signature la syntaxe et la spécification de traitement à l’adresse https://go.microsoft.com/fwlink/p/?linkid=139649 .
| Fonction | Description |
|---|---|
| Un _ SHAFinal | Calcule le hachage final des données entrées par la fonction MD5Update. |
| Un _ SHAInit | Initialise le hachage d’un flux de données. |
| Un _ SHAUpdate | Ajoute des données à un objet de hachage spécifié. |
| CryptXmlCreateReference | Crée une référence à une signature XML. |
| CryptXmlAddObject | Ajoute l’élément objet à la signature dans le contexte de document ouvert pour l’encodage. |
| CryptXmlClose | Ferme un handle d’objet XML de chiffrement. |
| CryptXmlDigestReference | Utilisé par une application pour condenser la référence résolue. Cette fonction applique des transformations avant la mise à jour du condensé. |
| CryptXmlDllCloseDigest | Libère le _ condensé XML de _ chiffre alloué par la fonction CryptXmlDllCreateDigest . |
| CryptXmlDllCreateDigest | Crée un objet Digest pour la méthode spécifiée. |
| CryptXmlDllCreateKey | Analyse l’élément KeyValue et crée un handle de clé de cryptographie Cryptography API : Next Generation (CNG) bcrypt pour vérifier une signature. |
| CryptXmlDllDigestData | Place les données dans le résumé. |
| CryptXmlDllEncodeAlgorithm | Encode les éléments SignatureMethod ou DigestMethod pour les algorithmes agile avec les paramètres par défaut. |
| CryptXmlDllEncodeKeyValue | Encode un élément KeyValue . |
| CryptXmlDllFinalizeDigest | Récupère la valeur Digest. |
| CryptXmlDllGetAlgorithmInfo | Décode l’algorithme XML et retourne des informations sur l’algorithme. |
| CryptXmlDllGetInterface | Récupère un pointeur vers les fonctions d’extension de chiffrement pour l’algorithme spécifié. |
| CryptXmlDllSignData | Signe les données. |
| CryptXmlDllVerifySignature | Vérifie une signature. |
| CryptXmlEncode | Encode les données de signature à l’aide de la fonction de rappel de Writer XML fournie. |
| CryptXmlGetAlgorithmInfo | Décode la structure d' _ _ algorithme XML énigmatique et retourne des informations sur l’algorithme. |
| CryptXmlGetDocContext | Retourne le contexte de document spécifié par le handle fourni. |
| CryptXmlGetReference | Retourne l’élément de référence spécifié par le handle fourni. |
| CryptXmlGetSignature | Retourne un élément de signature XML. |
| CryptXmlGetStatus | Retourne une structure d' _ _ État de chiffrement XML qui contient des informations d’État sur l’objet spécifié par le handle fourni. |
| CryptXmlGetTransforms | Retourne des informations sur le moteur de chaîne de transformation par défaut. |
| CryptXmlImportPublicKey | Importe la clé publique spécifiée par le handle fourni. |
| CryptXmlOpenToEncode | Ouvre une signature numérique XML pour encoder et retourner un handle de l’élément de signature ouvert. Le descripteur encapsule un contexte de document avec une structure de _ _ signature XML de chiffre unique et reste ouvert jusqu’à ce que la fonction CryptXmlClose soit appelée. |
| CryptXmlOpenToDecode | Ouvre une signature numérique XML pour décoder et retourne le handle du contexte de document qui encapsule une structure de _ _ signature XML de chiffrement. Le contexte de document peut inclure un ou plusieurs éléments de signature . |
| CryptXmlSetHMACSecret | Définit le secret HMAC sur le descripteur avant d’appeler la fonction CryptXmlSign ou CryptXmlVerify . |
| CryptXmlSign | Crée une signature de chiffrement d’un élément SignedInfo . |
| CryptXmlVerifySignature | Effectue une validation de signature de chiffrement d’un élément SignedInfo . |
| _rappel d' _ _ écriture XML _ de chiffre PFN | Crée une transformation pour un fournisseur de données spécifié. |
| PFN _ crypt _ XML _ créer une _ transformation | Écrit des données XML de chiffrement. |
| _lecture du _ _ fournisseur de données XML _ _ PFN | Lit les données XML de chiffrement. |
| _ _ _ _ Fermer le fournisseur de données _ XML PFN | Libère le fournisseur de données XML de chiffrement. |
| _informations d' _ _ énumération d’énumération XML PFN _ énigmatique _ | Énumère les entrées d' _ _ _ informations d’algorithme XML de chiffrement prédéfinies et enregistrées. |
Fonctions de signataire
Fournit des fonctions pour la signature et l’horodatage des données.
| Fonction | Description |
|---|---|
| SignerFreeSignerContext | Libère une structure de _ contexte de signataire allouée par un appel précédent à la fonction SignerSignEx . |
| SignError | Appelle la fonction GetLastError et convertit le code de retour en HRESULT. |
| SignerSign | Signe le fichier spécifié. |
| SignerSignEx | Signe le fichier spécifié et retourne un pointeur vers les données signées. |
| SignerSignEx2 | Signe et heure marque le fichier spécifié, en autorisant plusieurs signatures imbriquées. |
| SignerTimeStamp | Horodatage l’objet spécifié. Cette fonction prend en charge l’horodatage Authenticode. Pour effectuer l’horodatage de l’infrastructure à clé publique (RFC 3161) X. 509, utilisez la fonction SignerTimeStampEx2 . |
| SignerTimeStampEx | Horodatage l’objet spécifié et retourne éventuellement un pointeur vers une structure de _ contexte de signataire qui contient un pointeur vers un objet BLOB. Cette fonction prend en charge l’horodatage Authenticode. Pour effectuer l’horodatage de l’infrastructure à clé publique (RFC 3161) X. 509, utilisez la fonction SignerTimeStampEx2 . |
| SignerTimeStampEx2 | Horodatage l’objet spécifié et retourne éventuellement un pointeur vers une structure de _ contexte de signataire qui contient un pointeur vers un objet BLOB. Cette fonction peut être utilisée pour effectuer l’infrastructure de clé publique X. 509, conforme à la norme RFC 3161, horodatage. |
| SignerTimeStampEx3 | Horodatage l’objet spécifié et prend en charge la définition des horodatages sur plusieurs signatures. |
Fonctions de chiffrement de base
Les fonctions de chiffrement de base offrent le moyen le plus souple de développer des applications de chiffrement. Toutes les communications avec un fournisseur de services de chiffrement (CSP) se produisent par le biais de ces fonctions.
Un CSP est un module indépendant qui effectue toutes les opérations de chiffrement. Au moins un CSP est requis avec chaque application qui utilise des fonctions de chiffrement. Une même application peut parfois utiliser plusieurs fournisseurs de services de chiffrement.
Si plusieurs fournisseurs de services de chiffrement sont utilisés, vous pouvez spécifier celui à utiliser dans les appels de fonction de chiffrement CryptoAPI. Un CSP, le fournisseur de services de chiffrement de base Microsoft, est fourni avec CryptoAPI. Ce CSP est utilisé comme fournisseur par défaut par de nombreuses fonctions CryptoAPI si aucun autre CSP n’est spécifié.
Chaque fournisseur de services Cloud fournit une implémentation différente de la prise en charge du chiffrement fournie à CryptoAPI. Certains fournissent des algorithmes de chiffrement plus forts ; d’autres contiennent des composants matériels, tels que des cartes à puce. En outre, certains fournisseurs de services de chiffrement peuvent occasionnellement communiquer directement avec les utilisateurs, par exemple lorsque des signatures numériques sont effectuées à l’aide de la clé privée de signaturede l’utilisateur.
Les fonctions de chiffrement de base se trouvent dans les grands groupes suivants :
- Fonctions du fournisseur de services
- génération de clés et fonctions de Exchange
- Fonctions d’encodage et de décodage d’objets
- Fonctions de chiffrement et de déchiffrement des données
- Fonctions de hachage et de signature numérique
Fonctions du fournisseur de services
Les applications utilisent les fonctions de service suivantes pour se connecter et déconnecter un fournisseur de services de chiffrement (CSP).
| Fonction | Description |
|---|---|
| CryptAcquireContext | [!Important] Acquiert un handle vers le conteneur de clé de l’utilisateur actuel dans un CSP particulier. |
| CryptContextAddRef | [!Important] Incrémente le décompte de références sur un handle HCRYPTPROV . |
| CryptEnumProviders | [!Important] Énumère les fournisseurs sur un ordinateur. |
| CryptEnumProviderTypes | [!Important] Énumère les types de fournisseurs pris en charge sur l’ordinateur. |
| CryptGetDefaultProvider | [!Important] Détermine le fournisseur de services de chiffrement par défaut pour l’utilisateur actuel ou pour l’ordinateur pour un type de fournisseur spécifié. |
| CryptGetProvParam | [!Important] Récupère les paramètres qui régissent les opérations d’un fournisseur de services de chiffrement. |
| CryptInstallDefaultContext | [!Important] Installe un contexte HCRYPTPROV précédemment acquis à utiliser comme contexte par défaut. |
| CryptReleaseContext | [!Important] Libère le handle acquis par la fonction CryptAcquireContext . |
| CryptSetProvider et CryptSetProviderEx | [!Important] Spécifie le CSP par défaut de l’utilisateur pour un type de CSP particulier. |
| CryptSetProvParam | [!Important] Spécifie les attributs d’un CSP. |
| CryptUninstallDefaultContext | [!Important] Supprime un contexte par défaut précédemment installé par CryptInstallDefaultContext. |
| FreeCryptProvFromCertEx | Libère le descripteur d’un fournisseur de services de chiffrement (CSP) ou d’une clé Cryptography API : Next Generation (CNG). |
génération de clés et fonctions de Exchange
La génération et l’échange de clés échangent des clés avec d’autres utilisateurs et créent, configurent et détruisent des clés de chiffrement.
| Fonction | Description |
|---|---|
| CryptDeriveKey | [!Important] Crée une clé dérivée d’un mot de passe. |
| CryptDestroyKey | [!Important] Détruit une clé. |
| CryptDuplicateKey | [!Important] Effectue une copie exacte d’une clé, y compris l' État de la clé. |
| CryptExportKey | [!Important] Transfère une clé du CSP dans un objet blob de clé dans l’espace mémoire de l’application. |
| CryptGenKey | [!Important] Crée une clé aléatoire. |
| CryptGenRandom | [!Important] Génère des données aléatoires. |
| CryptGetKeyParam | [!Important] Récupère les paramètres d’une clé. |
| CryptGetUserKey | [!Important] Obtient un handle vers l’échange de clés ou la clé de signature. |
| CryptImportKey | [!Important] Transfère une clé d’un objet blob de clé à un CSP. |
| CryptSetKeyParam | [!Important] Spécifie les paramètres d’une clé. |
Fonctions d’encodage et de décodage d’objets
Il s’agit de fonctions d’encodage et de décodage généralisées. Ils sont utilisés pour encoder et décoder des certificats, des listes de révocation de certificats (CRL), des demandes de certificatet des extensions de certificat.
| Fonction | Description |
|---|---|
| CryptDecodeObject | Décode une structure de type lpszStructType. |
| CryptDecodeObjectEx | Décode une structure de type lpszStructType. CryptDecodeObjectEx prend en charge l’option d’allocation de mémoire à passage unique. |
| CryptEncodeObject | Encode une structure de type lpszStructType. |
| CryptEncodeObjectEx | Encode une structure de type lpszStructType. CryptEncodeObjectEx prend en charge l’option d’allocation de mémoire à passage unique. |
Fonctions de chiffrement et de déchiffrement des données
Les fonctions suivantes prennent en charge les opérations de chiffrement et de déchiffrement. CryptEncrypt et CryptDecrypt requièrent une clé de chiffrement avant d’être appelées. Cette opération s’effectue à l’aide de la fonction CryptGenKey, CryptDeriveKeyou CryptImportKey . L’algorithme de chiffrement est spécifié lors de la création de la clé. CryptSetKeyParam peut définir des paramètres de chiffrement supplémentaires.
| Fonction | Description |
|---|---|
| CryptDecrypt | [!Important] Déchiffre une section de texte chiffré à l’aide de la clé de chiffrement spécifiée. |
| CryptEncrypt | [!Important] Chiffre une section de texte en clair à l’aide de la clé de chiffrement spécifiée. |
| CryptProtectData | Effectue le chiffrement des données dans une structure DATA_BLOB . |
| CryptProtectMemory | Chiffre la mémoire pour protéger les informations sensibles. |
| CryptUnprotectData | Effectue un contrôle de déchiffrement et d’intégrité des données dans un DATA_BLOB. |
| CryptUnprotectMemory | Déchiffre la mémoire qui a été chiffrée à l’aide de CryptProtectMemory. |
Fonctions de hachage et de signature numérique
Ces fonctions calculent des hachages de données et créent et vérifient également des signatures numériques. Les hachages sont également appelés résumés de message.
| Fonction | Description |
|---|---|
| CryptCreateHash | [!Important] Crée un objet de hachage vide. |
| CryptDestroyHash | [!Important] Détruit un objet de hachage. |
| CryptDuplicateHash | Duplique un objet de hachage. |
| CryptGetHashParam | Récupère un paramètre d’objet de hachage. |
| CryptHashData | [!Important] Hache un bloc de données, en l’ajoutant à l’objet de hachage spécifié. |
| CryptHashSessionKey | [!Important] Hache une clé de session, en l’ajoutant à l’objet de hachage spécifié. |
| CryptSetHashParam | [!Important] Définit un paramètre d’objet de hachage. |
| CryptSignHash | [!Important] Signe l’objet de hachage spécifié. |
| CryptUIWizDigitalSign | Affiche un assistant qui signe numériquement un document ou un objet BLOB. |
| CryptUIWizFreeDigitalSignContext | Libère un pointeur vers une structure CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT . |
| CryptVerifySignature | [!Important] Vérifie une signature numérique, en fonction d’un handle de l’objet de hachage. |
| PFNCFILTERPROC | Filtre les certificats qui s’affichent dans l’Assistant signature numérique affiché par la fonction CryptUIWizDigitalSign . |
Fonctions de certificat et de magasin de certificats
Les fonctions de certificat et de magasin de certificats gèrent l’utilisation, le stockage et la récupération des certificats, des listes de révocation de certificats (CRL) et des listes de certificats de confiance (CTL). Ces fonctions sont divisées en groupes suivants :
- Fonctions du magasin de certificats
- Fonctions de maintenance des certificats et des magasins de certificats
- Fonctions de certificat
- Fonctions de liste de révocation de certificats
- Fonctions de la liste de certificats de confiance
- Fonctions de propriété étendues
- MakeCert, fonctions
Fonctions du magasin de certificats
Un site d’utilisateur peut, au fil du temps, collecter de nombreux certificats. En règle générale, un site dispose de certificats pour l’utilisateur du site, ainsi que d’autres certificats qui décrivent les individus et les entités avec lesquels l’utilisateur communique. Pour chaque entité, il peut y avoir plus d’un certificat. Pour chaque certificat individuel, il doit exister une chaîne de vérification des certificats qui fournit un retour à un certificat racineapprouvé. Les magasins de certificats et leurs fonctions associées fournissent des fonctionnalités pour stocker, récupérer, énumérer, vérifier et utiliser les informations stockées dans les certificats.
| Fonction | Description |
|---|---|
| CertAddStoreToCollection | Ajoute un magasin de certificats frère à un magasin de certificats de collection. |
| CertCloseStore | Ferme un handle de magasin de certificats. |
| CertControlStore | Permet à une application d’être avertie lorsqu’il existe une différence entre le contenu d’un magasin mis en cache et le contenu du magasin qui est conservé dans le stockage. Il fournit également une désynchronisation du magasin mis en cache, si nécessaire, et fournit un moyen de valider les modifications apportées à la Banque mise en cache dans le stockage persistant. |
| CertDuplicateStore | Duplique un handle de magasin en incrémentant le décompte de références. |
| CertEnumPhysicalStore | Énumère les magasins physiques pour un magasin système spécifié. |
| CertEnumSystemStore | Énumère tous les magasins système disponibles. |
| CertEnumSystemStoreLocation | Énumère tous les emplacements qui ont un magasin système disponible. |
| CertGetStoreProperty | Obtient une propriété de magasin. |
| CertOpenStore | Ouvre un magasin de certificats à l’aide d’un type de fournisseur de magasin spécifié. |
| CertOpenSystemStore | Ouvre un magasin de certificats système basé sur un protocole de sous-système. |
| CertRegisterPhysicalStore | Ajoute un magasin physique à une collection du magasin système du Registre. |
| CertRegisterSystemStore | Inscrit un magasin système. |
| CertRemoveStoreFromCollection | Supprime un magasin de certificats frères d’un magasin de collections. |
| CertSaveStore | Enregistre le magasin de certificats. |
| CertSetStoreProperty | Définit une propriété de magasin. |
| CertUnregisterPhysicalStore | Supprime un magasin physique d’une collection de magasins système spécifiée. |
| CertUnregisterSystemStore | Annule l’inscription d’un magasin système spécifié. |
| CryptUIWizExport | Présente un assistant qui exporte un certificat, une liste de certificats de confiance (CTL), une liste de révocation de certificats (CRL) ou un magasin de certificats. |
| CryptUIWizImport | Présente un assistant qui importe un certificat, une liste de certificats de confiance (CTL), une liste de révocation de certificats (CRL) ou un magasin de certificats. |
Fonctions de maintenance des certificats et des magasins de certificats
CryptoAPI fournit un ensemble de fonctions de maintenance de certificat général et de magasin de certificats.
| Fonction | Description |
|---|---|
| CertAddSerializedElementToStore | Ajoute le certificat sérialisé ou l’élément CRL au magasin. |
| CertCreateContext | Crée le contexte spécifié à partir des octets encodés. Le nouveau contexte n’est pas placé dans un magasin. |
| CertEnumSubjectInSortedCTL | Énumère les TrustedSubjects dans un contexte CTL trié. |
| CertFindSubjectInCTL | Recherche l’objet spécifié dans une liste de certificats de confiance. |
| CertFindSubjectInSortedCTL | Recherche l’objet spécifié dans une liste CTL triée. |
| OpenPersonalTrustDBDialog et OpenPersonalTrustDBDialogEx | Affiche la boîte de dialogue certificats . |
Fonctions de certificat
La plupart des fonctions de certificat ont des fonctions associées pour gérer les listes de révocation de certificats et les listes CTL. Pour plus d’informations sur les fonctions de liste de révocation de certificats et les fonctions CTL associées, consultez fonctions de liste de révocation de certificats et fonctions de liste de certificats de confiance
| Fonction | Description |
|---|---|
| CertAddCertificateContextToStore | Ajoute un contexte de certificat au magasin de certificats. |
| CertAddCertificateLinkToStore | Ajoute un lien dans un magasin de certificats à un contexte de certificat dans un autre magasin. |
| CertAddEncodedCertificateToStore | Convertit le certificat encodé en contexte de certificat, puis ajoute le contexte au magasin de certificats. |
| CertAddRefServerOcspResponse | Incrémente le décompte de références pour un handle de _ _ _ réponse OCSP du serveur HCERT . |
| CertAddRefServerOcspResponseContext | Incrémente le décompte de références pour une structure de _ _ _ _ contexte de réponse OCSP du serveur de certificats . |
| CertCloseServerOcspResponse | Ferme un handle de réponse de serveur OCSP ( Online Certificate Status Protocol ). |
| CertCreateCertificateContext | Crée un contexte de certificat à partir d’un certificat encodé. Le contexte créé n’est pas placé dans un magasin de certificats. |
| CertCreateSelfSignCertificate | Crée un certificat auto-signé |
| CertDeleteCertificateFromStore | Supprime un certificat du magasin de certificats. |
| CertDuplicateCertificateContext | Duplique un contexte de certificat en incrémentant son décompte de références. |
| CertEnumCertificatesInStore | Énumère les contextes de certificat dans le magasin de certificats. |
| CertFindCertificateInStore | Recherche le premier contexte de certificat dans le magasin de certificats qui répond à un critère de recherche. |
| CertFreeCertificateContext | Libère un contexte de certificat. |
| CertGetIssuerCertificateFromStore | Obtient un contexte de certificat à partir du magasin de certificats pour le premier émetteur, ou suivant, du certificat d’objet spécifié. |
| CertGetServerOcspResponseContext | Récupère un contexte de réponse OCSP ( Online Certificate Status Protocol ) valide non bloquant pour le handle spécifié. |
| CertGetSubjectCertificateFromStore | Récupère, à partir du magasin de certificats, le contexte du certificat du sujet, qui est identifié de manière unique par son émetteur et son numéro de série. |
| CertGetValidUsages | Retourne un tableau d’utilisations qui se composent de l’intersection des utilisations valides pour tous les certificats dans un tableau de certificats. |
| CertOpenServerOcspResponse | Ouvre un handle vers une réponse OCSP ( Online Certificate Status Protocol ) associée à une chaîne de certificat de serveur. |
| CertRetrieveLogoOrBiometricInfo | Effectue une récupération d’URL des informations de logo ou biométriques spécifiées dans l’extension de certificat szOID _ logotype _ ext ou szOID _ _ ext Metric ext . |
| CertSelectCertificate | Présente une boîte de dialogue qui permet à l’utilisateur de sélectionner des certificats à partir d’un ensemble de certificats qui correspondent à un critère donné. |
| CertSelectCertificateChains | Récupère les chaînes de certificats en fonction de critères de sélection spécifiés. |
| CertSelectionGetSerializedBlob | Fonction d’assistance utilisée pour récupérer un objet BLOB de certificat sérialisé à partir d’une structure _ _ d’entrée de certificat SELECTUI. |
| CertSerializeCertificateStoreElement | Sérialise le certificat encodé d’un contexte de certificat et une représentation encodée de ses propriétés. |
| CertVerifySubjectCertificateContext | Effectue les contrôles de vérification activés sur le certificat de sujet à l’aide de l’émetteur. |
| CryptUIDlgCertMgr | Affiche une boîte de dialogue qui permet à l’utilisateur de gérer des certificats. |
| CryptUIDlgSelectCertificate | Affiche une boîte de dialogue qui permet à un utilisateur de sélectionner un certificat. |
| CryptUIDlgSelectCertificateFromStore | Affiche une boîte de dialogue qui permet de sélectionner un certificat à partir d’un magasin spécifié. |
| CryptUIDlgViewCertificate | Présente une boîte de dialogue qui affiche un certificat spécifié. |
| CryptUIDlgViewContext | Affiche un certificat, une liste de révocation de certificats ou une liste CTL. |
| CryptUIDlgViewSignerInfo | Affiche une boîte de dialogue qui contient les informations sur le signataire d’un message signé. |
| GetFriendlyNameOfCert | Récupère le nom complet d’un certificat. |
| RKeyCloseKeyService | Ferme un handle de service de clé. |
| RKeyOpenKeyService | Ouvre un handle de service de clé sur un ordinateur distant. |
| RKeyPFXInstall | Installe un certificat sur un ordinateur distant. |
Fonctions de liste de révocation de certificats
Ces fonctions gèrent le stockage et la récupération des listes de révocation de certificats (CRL).
| Fonction | Description |
|---|---|
| CertAddCRLContextToStore | Ajoute un contexte de liste de révocation de certificats au magasin de certificats. |
| CertAddCRLLinkToStore | Ajoute un lien dans un magasin à un contexte de liste de révocation de certificats dans un autre magasin. |
| CertAddEncodedCRLToStore | Convertit la liste de révocation de certificats encodée en un contexte de liste de révocation de certificats, puis ajoute le contexte au magasin de certificats. |
| CertCreateCRLContext | Crée un contexte de liste de révocation de certificats à partir d’une liste de révocation de certificats. Le contexte créé n’est pas placé dans un magasin de certificats. |
| CertDeleteCRLFromStore | Supprime une liste de révocation de certificats du magasin de certificats. |
| CertDuplicateCRLContext | Duplique un contexte de liste de révocation de certificats en incrémentant le nombre de références. |
| CertEnumCRLsInStore | Énumère les contextes de la liste de révocation de certificats dans un magasin. |
| CertFindCertificateInCRL | Recherche le certificat spécifié dans la liste de révocation de certificats . |
| CertFindCRLInStore | Recherche le premier contexte de liste de révocation de certificats, ou suivant, dans le magasin de certificats qui correspond à un critère spécifique. |
| CertFreeCRLContext | Libère un contexte de liste de révocation de certificats. |
| CertGetCRLFromStore | Obtient le premier et prochain contexte de la liste de révocation de certificats du magasin de certificats pour le certificat de l’émetteur spécifié. |
| CertSerializeCRLStoreElement | Sérialise la liste de révocation de certificats encodée du contexte de la liste de révocation de certificats et ses propriétés. |
Fonctions de la liste de certificats de confiance
Ces fonctions gèrent le stockage et la récupération des listes de certificats de confiance (CTL).
| Fonction | Description |
|---|---|
| CertAddCTLContextToStore | Ajoute un contexte de liste de certificats de confiance au magasin de certificats. |
| CertAddCTLLinkToStore | Ajoute un lien dans un magasin à un contexte de liste de révocation de certificats dans un autre magasin. |
| CertAddEncodedCTLToStore | Convertit la liste CTL encodée en un contexte CTL, puis ajoute le contexte au magasin de certificats. |
| CertCreateCTLContext | Crée un contexte CTL à partir d’une liste de certificats de confiance encodée. Le contexte créé n’est pas placé dans un magasin de certificats. |
| CertDeleteCTLFromStore | Supprime une liste CTL du magasin de certificats. |
| CertDuplicateCTLContext | Duplique un contexte de liste de certificats de confiance en incrémentant le décompte de références. |
| CertEnumCTLsInStore | Énumère les contextes de la liste de certificats de confiance dans le magasin de certificats. |
| CertFindCTLInStore | Recherche le premier contexte CTL, ou suivant, dans le magasin de certificats qui correspond à un critère spécifique. |
| CertFreeCTLContext | Libère un contexte de liste de certificats de confiance. |
| CertModifyCertificatesToTrust | Modifie le jeu de certificats dans une liste CTL pour un usage donné. |
| CertSerializeCTLStoreElement | Sérialise la liste CTL encodée du contexte CTL et ses propriétés. |
Fonctions de propriété étendues
Les fonctions suivantes fonctionnent avec les propriétés étendues des certificats, des listes de révocation de certificats et des listes CTL.
| Fonction | Description |
|---|---|
| CertEnumCertificateContextProperties | Énumère les propriétés du contexte de certificat spécifié. |
| CertEnumCRLContextProperties | Énumère les propriétés du contexte de la liste de révocation de certificats spécifié. |
| CertEnumCTLContextProperties | Énumère les propriétés du contexte de liste de certificats de confiance spécifié. |
| CertGetCertificateContextProperty | Récupère les propriétés du certificat. |
| CertGetCRLContextProperty | Récupère les propriétés de la liste de révocation de certificats. |
| CertGetCTLContextProperty | Récupère les propriétés CTL. |
| CertSetCertificateContextProperty | Définit les propriétés du certificat. |
| CertSetCRLContextProperty | Définit les propriétés de liste de révocation de certificats. |
| CertSetCTLContextProperty | Définit les propriétés de la liste de certificats de confiance. |
MakeCert, fonctions
Les fonctions suivantes prennent en charge l’outil Makecert .
| Fonction | Description |
|---|---|
| FreeCryptProvFromCert | Libère le descripteur d’un fournisseur de services de chiffrement (CSP) et supprime éventuellement le conteneur temporaire créé par la fonction GetCryptProvFromCert . |
| GetCryptProvFromCert | Obtient un handle vers un CSP et une spécification de clé pour un contexte de certificat. |
| PvkFreeCryptProv | Libère le descripteur d’un CSP et supprime éventuellement le conteneur temporaire créé par la fonction PvkGetCryptProv . |
| PvkGetCryptProv | Obtient un handle vers un CSP basé sur un nom de fichier de clé privée ou un nom de conteneur de clé. |
| PvkPrivateKeyAcquireContextFromMemory | Crée un conteneur temporaire dans le CSP et charge une clé privée à partir de la mémoire dans le conteneur. |
| PvkPrivateKeySave | Enregistre une clé privée et la clé publique correspondante dans un fichier spécifié. |
| SignError | Appelle GetLastError et convertit le code de retour en HRESULT. |
Fonctions de vérification des certificats
Les certificats sont vérifiés à l’aide de listes CTL ou de chaînes de certificats. Des fonctions sont fournies pour les deux éléments suivants :
- Fonctions de vérification utilisant des listes CTL
- Fonctions de vérification de la chaîne de certificats
Fonctions de vérification utilisant des listes CTL
Ces fonctions utilisent des listes CTL dans le processus de vérification. Vous trouverez des fonctions supplémentaires pour l’utilisation des listes CTL dans fonctions de liste de certificats de confiance et fonctions de propriété étendues.
Les fonctions suivantes utilisent des listes CTL directement pour la vérification.
| Fonction | Description |
|---|---|
| CertVerifyCTLUsage | Vérifie l’utilisation d’une liste CTL. |
| CryptMsgEncodeAndSignCTL | Encode et signe une liste de certificats de confiance en tant que message. |
| CryptMsgGetAndVerifySigner | Récupère et vérifie une liste CTL à partir d’un message. |
| CryptMsgSignCTL | Signe un message qui contient une liste CTL. |
Fonctions de vérification de la chaîne de certificats
Les chaînes de certificats sont conçues pour fournir des informations d’approbation sur des certificats individuels.
| Nom de fonction | Description |
|---|---|
| CertCreateCertificateChainEngine | Crée un nouveau moteur de chaîne non défini par défaut pour une application. |
| CertCreateCTLEntryFromCertificateContextProperties | Crée une entrée CTL dont les attributs sont les propriétés du contexte du certificat. |
| CertDuplicateCertificateChain | Duplique une chaîne de certificats en incrémentant le décompte de références de la chaîne et en retournant un pointeur vers la chaîne. |
| CertFindChainInStore | Recherche le premier contexte de chaîne de certificats, ou suivant, dans un magasin. |
| CertFreeCertificateChain | Libère une chaîne de certificats en réduisant son décompte de références. |
| CertFreeCertificateChainEngine | Libère un moteur de chaîne de certificats autre que celui par défaut. |
| CertFreeCertificateChainList | Libère le tableau de pointeurs dans les contextes de chaîne. |
| CertGetCertificateChain | Génère un contexte de chaîne à partir d’un certificat de fin et revient à un certificat racineapprouvé, si possible. |
| CertIsValidCRLForCertificate | Vérifie une liste de révocation de certificats pour déterminer si elle doit inclure un certificat spécifique si ce certificat a été révoqué. |
| CertSetCertificateContextPropertiesFromCTLEntry | Définit les propriétés du contexte de certificat à l’aide des attributs de l’entrée CTL. |
| CertVerifyCertificateChainPolicy | Vérifie une chaîne de certificats pour vérifier sa validité, y compris sa conformité avec les critères de stratégie de validité spécifiés. |
Fonctions de message
Les fonctions de message CryptoAPI se composent de deux groupes de fonctions : les fonctions de message de bas niveau et les fonctions de message simplifiées.
Les fonctions de message de bas niveau créent et fonctionnent directement avec # les messages PKCS 7. Ces fonctions encodent les # données PKCS 7 pour transmettre et décoder les # données PKCS 7 reçues. Ils déchiffrent et vérifient également les signatures des messages reçus. Pour obtenir une vue d’ensemble de la # norme PKCS 7 et des messages de bas niveau, consultez messages de bas niveau.
Les fonctions de message simplifiées sont à un niveau supérieur et encapsulent plusieurs fonctions de message de bas niveau et de certificat dans des fonctions uniques qui exécutent une tâche spécifique d’une manière spécifique. Ces fonctions réduisent le nombre d’appels de fonction nécessaires pour accomplir une tâche, ce qui simplifie l’utilisation d’CryptoAPI. Pour obtenir une vue d’ensemble des messages simplifiés, consultez messages simplifiés.
- Fonctions de message de bas niveau
- Fonctions de message simplifiées
Fonctions de message de bas niveau
Les fonctions de message de bas niveau offrent les fonctionnalités nécessaires pour encoder les données en vue de leur transmission et pour décoder les # messages PKCS 7 reçus. La fonctionnalité est également fournie pour déchiffrer et vérifier les signatures des messages reçus. L’utilisation de ces fonctions de message de bas niveau dans la plupart des applications n’est pas recommandée. Pour la plupart des applications, l’utilisation de fonctions de message simplifiées, qui encapsulent plusieurs fonctions de message de bas niveau dans un appel de fonction unique, est préférable.
| Fonction | Description |
|---|---|
| CryptMsgCalculateEncodedLength | Calcule la longueur d’un message chiffré encodé. |
| CryptMsgClose | Ferme un handle de message de chiffrement. |
| CryptMsgControl | Exécute une fonction de contrôle spéciale après la CryptMsgUpdate finale d’un message chiffré encodé ou décodé. |
| CryptMsgCountersign | Contre-signe une signature déjà existante dans un message. |
| CryptMsgCountersignEncoded | Contresigné une signature déjà existante (encodée signataires, comme défini par PKCS # 7). |
| CryptMsgDuplicate | Duplique un handle de message de chiffrement en incrémentant le décompte de références. Le nombre de références effectue le suivi de la durée de vie du message. |
| CryptMsgGetParam | Acquiert un paramètre après l’encodage ou le décodage d’un message de chiffrement. |
| CryptMsgOpenToDecode | Ouvre un message de chiffrement pour le décodage. |
| CryptMsgOpenToEncode | Ouvre un message de chiffrement pour l’encodage. |
| CryptMsgUpdate | Met à jour le contenu d’un message de chiffrement. |
| CryptMsgVerifyCountersignatureEncoded | Vérifie une contre- signature en termes de la structure signataires (comme défini par PKCS # 7). |
| CryptMsgVerifyCountersignatureEncodedEx | Vérifie que le paramètre pbSignerInfoCounterSignature contient le hachage chiffré du champ encryptedDigest de la structure de paramètres pbSignerInfo . |
Fonctions de message simplifiées
les fonctions de message simplifiées encapsulent les fonctions de message de bas niveau dans une fonction unique pour accomplir une tâche spécifiée.
| Fonction | Description |
|---|---|
| CryptDecodeMessage | Décode un message de chiffrement. |
| CryptDecryptAndVerifyMessageSignature | Déchiffre le message spécifié et vérifie le signataire. |
| CryptDecryptMessage | Déchiffre le message spécifié. |
| CryptEncryptMessage | Chiffre le message pour le ou les destinataires. |
| CryptGetMessageCertificates | Retourne le magasin de certificats qui contient les certificats et les listes de révocationde certificats du message. |
| CryptGetMessageSignerCount | Retourne le nombre de signataires dans le message signé. |
| CryptHashMessage | Crée un hachage du message. |
| CryptSignAndEncryptMessage | Signe le message, puis le chiffre pour le ou les destinataires. |
| CryptSignMessageWithKey | Signe un message à l’aide de la clé privée d’un CSP spécifiée dans les paramètres de la fonction. |
| CryptSignMessage | Signe le message. |
| CryptVerifyDetachedMessageHash | Vérifie un message haché qui contient un hachage détaché. |
| CryptVerifyDetachedMessageSignature | Vérifie un message signé qui contient une signature ou des signatures détachées. |
| CryptVerifyMessageHash | Vérifie un message haché. |
| CryptVerifyMessageSignature | Vérifie un message signé. |
| CryptVerifyMessageSignatureWithKey | Vérifie la signature d’un message signé à l’aide des informations de la clé publique spécifiée. |
Fonctions auxiliaires
Les fonctions auxiliaires sont regroupées comme suit :
- Fonctions Gestion des données
- Fonctions de conversion de données
- Fonctions améliorées de l’utilisation de la clé
- Fonctions d’identificateur de clé
- Fonctions de prise en charge OID
- Fonctions de récupération des objets distants
- Fonctions PFX
Fonctions Gestion des données
Les fonctions CryptoAPI suivantes gèrent les données et les certificats.
| Fonction | Description |
|---|---|
| CertCompareCertificate | Compare deux certificats pour déterminer s’ils sont identiques. |
| CertCompareCertificateName | Compare deux noms de certificats pour déterminer s’ils sont identiques. |
| CertCompareIntegerBlob | Compare deux objets BLOBentiers. |
| CertComparePublicKeyInfo | Compare deux clés publiques pour déterminer si elles sont identiques. |
| CertFindAttribute | Recherche le premier attribut identifié par son identificateur d’objet (OID). |
| CertFindExtension | Recherche la première extension identifiée par son OID. |
| CertFindRDNAttr | Recherche le premier attribut RDN identifié par son OID dans la liste nom des noms uniques relatifs. |
| CertGetIntendedKeyUsage | Acquiert les octets d’utilisation de clé prévus du certificat. |
| CertGetPublicKeyLength | Acquiert la longueur en bits de la clé publique/privée à partir de l' objet blob de clé publique. |
| CertIsRDNAttrsInCertificateName | Compare les attributs du nom du certificat avec le CERT_RDN spécifié pour déterminer si tous les attributs y sont inclus. |
| CertIsStrongHashToSign | Détermine si l’algorithme de hachage spécifié et la clé publique dans le certificat de signature peuvent être utilisés pour effectuer une signature forte. |
| CertVerifyCRLRevocation | Vérifie que le certificat du sujet ne figure pas dans la liste de révocation de certificats (CRL). |
| CertVerifyCRLTimeValidity | Vérifie la validité d’une liste de révocation de certificats. |
| CertVerifyRevocation | Vérifie que le certificat du sujet n’est pas sur la liste de révocation de certificats. |
| CertVerifyTimeValidity | Vérifie la validité de l’heure d’un certificat. |
| CertVerifyValidityNesting | Vérifie que la validité de l’heure du sujet est comprise dans la durée de validité de l’émetteur. |
| CryptExportPKCS8 | Cette fonction est remplacée par la fonction CryptExportPKCS8Ex . |
| CryptExportPKCS8Ex | Exporte la clé privée au format de #8 PKCS. |
| CryptExportPublicKeyInfo | Exporte les informations de clé publique associées à la clé privée correspondante du fournisseur. |
| CryptExportPublicKeyInfoEx | Exporte les informations de clé publique associées à la clé privée correspondante du fournisseur. Cette fonction diffère de CryptExportPublicKeyInfo dans le fait que l’utilisateur peut spécifier l’algorithme de clé publique, remplaçant ainsi la valeur par défaut fournie par le fournisseur de services de chiffrement. |
| CryptExportPublicKeyInfoFromBCryptKeyHandle | Exporte les informations de clé publique associées à la clé privée correspondante d’un fournisseur. |
| CryptFindCertificateKeyProvInfo | Énumère les fournisseurs de chiffrement et leurs conteneurs de clé pour rechercher la clé privée qui correspond à la clé publique d’un certificat. |
| CryptFindLocalizedName | Recherche le nom localisé pour un nom spécifié, par exemple, recherche le nom localisé pour le nom de magasin du système racine. |
| CryptHashCertificate | [!Important] Hache le contenu encodé. |
| CryptHashCertificate2 | Hache un bloc de données à l’aide d’un fournisseur de hachage Cryptography API : Next Generation (CNG). |
| CryptHashPublicKeyInfo | [!Important] Calcule le hachage des informations de clé publique encodées. |
| CryptHashToBeSigned | [!Important] Calcule le hachage des informations de « à signer » dans le contenu signé encodé (CERT_SIGNED_CONTENT_INFO). |
| CryptImportPKCS8 | [!Important] Importe la clé privée au format de #8 PKCS vers un fournisseur de services de chiffrement (CSP). |
| CryptImportPublicKeyInfo | [!Important] Convertit et importe des informations de clé publique dans le fournisseur et retourne un handle de la clé publique. |
| CryptImportPublicKeyInfoEx | [!Important] Convertit et importe les informations de clé publique dans le fournisseur et retourne un handle de la clé publique. Des paramètres supplémentaires (par rapport à ceux spécifiés par CryptImportPublicKeyInfo) qui peuvent être utilisés pour remplacer les valeurs par défaut sont fournis pour compléter CERT_PUBLIC_KEY_INFO. |
| CryptImportPublicKeyInfoEx2 | Importe une clé publique dans un fournisseur asymétrique CNG. |
| CryptMemAlloc | Alloue de la mémoire pour une mémoire tampon. Cette mémoire est utilisée par toutes les fonctions fichier crypt32. lib qui retournent des mémoires tampons allouées. |
| CryptMemFree | Libère de la mémoire allouée par CryptMemAlloc ou CryptMemRealloc. |
| CryptMemRealloc | Libère la mémoire actuellement allouée pour une mémoire tampon et alloue de la mémoire pour une nouvelle mémoire tampon. |
| CryptQueryObject | [!Important] Récupère des informations sur le contenu d’un objet BLOB ou d’un fichier. |
| CryptSignAndEncodeCertificate | Encode les informations de « à signer », signe ces informations encodées et encode les informations encodées et signées obtenues. |
| CryptSignCertificate | Signe les informations « à signer » dans le contenu encodé et signé. |
| CryptSIPAddProvider | Ajoute un package d’interface de sujet (SIP). |
| CryptSIPCreateIndirectData | Retourne une structure SIP_INDIRECT_DATA qui contient un hachage de la structure SIP_SUBJECTINFO fournie, de l’algorithme Digest et d’un attribut d’encodage. Le hachage peut être utilisé comme référence indirecte aux données. |
| CryptSIPGetCaps | Récupère les fonctionnalités d’un SIP. |
| CryptSIPGetSignedDataMsg | Récupère une signature Authenticode à partir du fichier. |
| CryptSIPLoad | Charge la bibliothèque de liens dynamiques qui implémente un package d’interface de sujet et assigne les fonctions d’exportation de bibliothèque appropriées à une structure SIP_DISPATCH_INFO . |
| CryptSIPPutSignedDataMsg | Stocke une signature Authenticode dans le fichier cible. |
| CryptSIPRemoveProvider | Supprime un SIP ajouté par un appel précédent à la fonction CryptSIPAddProvider . |
| CryptSIPRemoveSignedDataMsg | Supprime une signature Authenticode spécifiée. |
| CryptSIPRetrieveSubjectGuid | Récupère un GUID basé sur les informations d’en-tête dans un fichier spécifié. |
| CryptSIPRetrieveSubjectGuidForCatalogFile | Récupère le GUID d’objet associé au fichier spécifié. |
| CryptSIPVerifyIndirectData | Valide les données hachées indirectes par rapport à l’objet fourni. |
| CryptUpdateProtectedState | Migre les clés principales de l’utilisateur actuel après la modification de l' identificateur de sécurité (SID) de l’utilisateur. |
| CryptVerifyCertificateSignature | Vérifie la signature d’un certificat de sujet ou d’une liste de révocation de certificats à l’aide des informations de clé publique. |
| CryptVerifyCertificateSignatureEx | Version étendue de CryptVerifyCertificateSignature. |
| GetEncSChannel | Stocke le contenu chiffré de la DLL Schannel en mémoire. |
| pCryptSIPGetCaps | Implémenté par un SIP pour signaler des fonctionnalités. |
Fonctions de conversion de données
Les fonctions CryptoAPI suivantes convertissent les membres de structure de certificat en différentes formes.
| Fonction | Description |
|---|---|
| CertAlgIdToOID | Convertit un identificateur d’algorithme CryptoAPI (ALG _ ID) en une chaîne d' identificateur d’objet (ASN. 1) de notation de syntaxe abstraite . |
| CertGetNameString | Acquiert l’objet ou le nom de l’émetteur à partir d’un certificat et le convertit en une chaîne de caractères terminée par le caractère null. |
| CertNameToStr | Convertit un objet BLOB de nom de certificat en une chaîne se terminant par zéro. |
| CertOIDToAlgId | Convertit la chaîne de l’identificateur d’objet ASN. 1 en identificateur d’algorithme CSP. |
| CertRDNValueToStr | Convertit une valeur de nom en chaîne terminée par le caractère null. |
| CertStrToName | Convertit une chaîne X. 500 terminée par un caractère null en un nom de certificat encodé. |
| CryptBinaryToString | Convertit une séquence binaire en une chaîne mise en forme. |
| CryptFormatObject | Met en forme les données encodées et retourne une chaîne Unicode. |
| CryptStringToBinary | Convertit une chaîne mise en forme en une séquence binaire. |
Fonctions améliorées de l’utilisation de la clé
Les fonctions suivantes traitent de l’extension utilisation améliorée de la clé (EKU) et de la propriété étendue améliorée des certificats. L’extension EKU et la propriété étendue spécifient et limitent les utilisations valides d’un certificat. Les extensions font partie du certificat lui-même. Ils sont définis par l’émetteur du certificat et sont en lecture seule. Les propriétés étendues de certificat sont des valeurs associées à un certificat qui peuvent être définies dans une application.
| Fonction | Description |
|---|---|
| CertAddEnhancedKeyUsageIdentifier | Ajoute un identificateur d’utilisation à la propriété EKU d’un certificat. |
| CertGetEnhancedKeyUsage | Acquiert, à partir d’un certificat, des informations sur l’extension ou la propriété de l’utilisation améliorée de la variable. |
| CertRemoveEnhancedKeyUsageIdentifier | Supprime l’identificateur d’utilisation de la propriété étendue EKU d’un certificat. |
| CertSetEnhancedKeyUsage | Définit la propriété EKU d’un certificat. |
Fonctions d’identificateur de clé
Les fonctions d’identificateur de clé permettent à l’utilisateur de créer, de définir, de récupérer ou de localiser un identificateur de clé ou ses propriétés.
Un identificateur de clé est l’identificateur unique d’une paire de clés publique/privée. Il peut s’agir d’un identificateur unique, mais il s’agit généralement du hachage SHA1 de 20 octets d’une structure d' _ _ _ informations de clé publique de certificat encodée. Un identificateur de clé peut être obtenu à l’aide de l' _ ID prop de l’identificateur de clé de certificat du certificat _ _ _ . L’identificateur de clé permet l’utilisation de cette paire de clés pour chiffrer ou déchiffrer des messages sans utiliser le certificat.
Les identificateurs de clé ne sont pas associés à des listes de révocation de certificats ou des listes CTL.
Un identificateur de clé peut avoir les mêmes propriétés qu’un contexte de certificat. Pour plus d’informations, consultez CertCreateContext.
| Fonction | Description |
|---|---|
| CryptCreateKeyIdentifierFromCSP | [!Important] Crée un identificateur de clé à partir de l' objet blob de clé publiqued’un CSP. |
| CryptEnumKeyIdentifierProperties | Énumère les identificateurs de clé et leurs propriétés. |
| CryptGetKeyIdentifierProperty | [!Important] Acquiert une propriété spécifique à partir d’un identificateur de clé spécifié. |
| CryptSetKeyIdentifierProperty | [!Important] Définit une propriété d’un identificateur de clé spécifié. |
Fonctions de prise en charge OID
Ces fonctions fournissent la prise en charge de l' identificateur d’objet (OID). Ces fonctions installent, inscrivent et distribuent à OID et encodant des fonctions spécifiques au type.
Les fonctions CryptoAPI suivantes utilisent ces fonctions de prise en charge des OID :
- CryptEncodeObject
- CryptEncodeObjectEx
- CryptDecodeObject
- CryptDecodeObjectEx
- CertVerifyRevocation
- CertOpenStore
Pour obtenir une vue d’ensemble de ce processus, consultez extension de la fonctionnalité CryptoAPI.
Les fonctions suivantes fonctionnent avec les OID.
| Fonction | Description |
|---|---|
| CryptEnumOIDFunction | Énumère les fonctions OID inscrites identifiées par leur type d’encodage, leur nom de fonction et leur OID. |
| CryptEnumOIDInfo | Énumère les informations d’OID inscrites identifiées par leur groupe et appelle pfnEnumOIDInfo pour les correspondances. |
| CryptFindOIDInfo | Utilise la clé et le groupe spécifiés pour rechercher des informations sur l’OID. |
| CryptFreeOIDFunctionAddress | Libère le nombre de handles incrémentés et retournés par CryptGetOIDFunctionAddress ou CryptGetDefaultOIDFunctionAddress. |
| CryptGetDefaultOIDDllList | Acquiert la liste des entrées de DLL par défaut inscrites pour l’ensemble de fonctions et le type d’encodage spécifiés. |
| CryptGetDefaultOIDFunctionAddress | Acquiert la première ou la prochaine fonction par défaut installée, ou charge la DLL qui contient la fonction par défaut. |
| CryptGetOIDFunctionAddress | Recherche un type d’encodage et une correspondance d’OID dans la liste des fonctions installées. Si aucune correspondance n’est trouvée, il recherche une correspondance dans le registre. |
| CryptGetOIDFunctionValue | Acquiert la valeur pour le type d’encodage, le nom de fonction, l’OID et le nom de la valeur spécifiés. |
| CryptInitOIDFunctionSet | Initialise et retourne un handle du jeu de fonctions OID identifié par le nom de fonction fourni. |
| CryptInstallOIDFunctionAddress | Installe un ensemble d’adresses de fonction OID pouvant être appelées. |
| CryptRegisterDefaultOIDFunction | Inscrit la DLL qui contient la fonction par défaut à appeler pour le type d’encodage et le nom de fonction spécifiés. |
| CryptRegisterOIDFunction | Inscrit la DLL qui contient la fonction à appeler pour le type d’encodage, le nom de fonction et l’OID spécifiés. |
| CryptRegisterOIDInfo | Enregistre les informations d’OID spécifiées dans la structure d' _ _ informations de l’OID de chiffre, en les rendant persistantes dans le registre. |
| CryptSetOIDFunctionValue | Définit la valeur pour le type d’encodage, le nom de fonction, l’OID et le nom de la valeur spécifiés. |
| CryptUnregisterDefaultOIDFunction | Supprime l’inscription de la DLL qui contient la fonction par défaut à appeler pour le type d’encodage et le nom de fonction spécifiés. |
| CryptUnregisterOIDFunction | Supprime l’inscription de la DLL qui contient la fonction à appeler pour le type d’encodage, le nom de fonction et l’OID spécifiés. |
| CryptUnregisterOIDInfo | Supprime l’inscription pour les informations OID spécifiées. |
Fonctions de récupération des objets distants
Les fonctions suivantes permettent à l’utilisateur de récupérer un objet d’infrastructure à clé publique (PKI), d’acquérir l’URL d’un certificat, d’une liste CTL ou d’une liste de révocation de certificats, ou d’extraire une URL d’un objet.
| Fonction | Description |
|---|---|
| CryptGetObjectUrl | Acquiert l’URL de l’objet distant à partir d’un certificat, d’une liste CTL ou d’une liste de révocation de certificats. |
| CryptRetrieveObjectByUrl | Récupère l’objet PKI à partir d’un emplacement spécifié par une URL. |
Fonctions PFX
les fonctions suivantes prennent en charge les objets blobau format PFX (Personal Information Exchange).
| Fonction | Description |
|---|---|
| PFXExportCertStore | Les exportations à partir du certificat référencé stockent les certificats et, le cas échéant, leurs clés privéesassociées. |
| PFXExportCertStoreEx | Les exportations à partir du certificat référencé stockent les certificats et, le cas échéant, leurs clés privées associées. |
| PFXImportCertStore | Importe un objet BLOB PFX et retourne le handle d’un magasin qui contient des certificats et les clés privées associées. |
| PFXIsPFXBlob | Tente de décoder la couche externe d’un objet BLOB en tant que paquet PFX. |
| PFXVerifyPassword | Tente de décoder la couche externe d’un objet BLOB en tant que paquet PFX et de le déchiffrer avec le mot de passe donné. |
Fonctions de sauvegarde et de restauration des services de certificats
Les services de certificats incluent des fonctions de sauvegarde et de restauration de la base de données des services de certificats. Ces fonctions de sauvegarde et de restauration des services de certificats sont contenues dans Certadm.dll. Contrairement aux autres éléments d’API associés aux services de certificats, ces fonctions ne sont pas encapsulées dans un objet qui peut être utilisé pour appeler des méthodes de classe. Au lieu de cela, les API de sauvegarde et de restauration sont appelées en chargeant d’abord la bibliothèque Certadm.dll en mémoire en appelant LoadLibrary , puis en déterminant l’adresse des fonctions en appelant GetProcAddress. Lorsque vous avez terminé d’appeler les fonctions de sauvegarde et de restauration des services de certificats, appelez FreeLibrary pour libérer Certadm.dll ressources à partir de la mémoire.
Notes
Les fonctions de sauvegarde et de restauration fournies par Certadm.dll ne permettent pas de sauvegarder ou de restaurer les clés privéesdu service de certificat. Pour plus d’informations sur la sauvegarde des clés privées des services de certificats, consultez sauvegarde et restauration de la clé privée des services de certificats.
Pour appeler les fonctions Backup et Restore, vous devez disposer de privilègesde sauvegarde et de restauration. Pour plus d’informations, consultez définition des privilèges de sauvegarde et de restauration.
Notes
Si CoInitializeEx a été précédemment appelé dans le même thread que celui utilisé pour appeler les API de sauvegarde et de restauration des services de certificats, l’indicateur coinit _ APARTMENTTHREADED doit avoir été passé à CoInitializeEx. Autrement dit, lors de l’utilisation du même thread, vous ne pouvez pas appeler l’API de sauvegarde et de restauration des services de certificats si le thread a déjà passé l' _ indicateur multithread coinit dans un appel à CoInitializeEx.
Les API de sauvegarde des services de certificats sont définies dans certbcli. h. Toutefois, lorsque vous créez votre programme, utilisez certsrv. h comme fichier include.
Les API suivantes sont exportées par Certadm.dll.
| Fonction | Description |
|---|---|
| CertSrvBackupClose | Ferme un fichier ouvert. |
| CertSrvBackupEnd | Met fin à une session de sauvegarde. |
| CertSrvBackupFree | Libère une mémoire tampon allouée par les API de sauvegarde et de restauration. |
| CertSrvBackupGetBackupLogs | Retourne une liste des fichiers journaux qui doivent être sauvegardés. |
| CertSrvBackupGetDatabaseNames | Retourne la liste des fichiers de base de données qui doivent être sauvegardés. |
| CertSrvBackupGetDynamicFileList | Récupère la liste des noms de fichiers dynamiques des services de certificats qui doivent être sauvegardés pour le contexte de sauvegarde donné. |
| CertSrvBackupOpenFile | Ouvre un fichier en vue de sa sauvegarde. |
| CertSrvBackupPrepare | Prépare la base de données pour la sauvegarde en ligne. |
| CertSrvBackupRead | Lit le contenu d’un fichier ouvert. |
| CertSrvBackupTruncateLogs | Tronque les fichiers journaux. |
| CertSrvIsServerOnline | Détermine si un serveur de services de certificats est en ligne (en cours d’exécution). |
| CertSrvRestoreEnd | Met fin à une session de restauration. |
| CertSrvRestoreGetDatabaseLocations | Récupère les emplacements de base de données (utilisés pour les scénarios de sauvegarde et de restauration). |
| CertSrvRestorePrepare | Démarre une session de restauration. |
| CertSrvRestoreRegister | Inscrit une opération de restauration. |
| CertSrvRestoreRegisterComplete | Termine une opération de restauration précédemment inscrite. |
| CertSrvRestoreRegisterThroughFile | Inscrit une opération de restauration. |
| CertSrvServerControl | Envoie une commande de contrôle à l’instance des services de certificats. |
Fonctions de rappel
Les fonctions de rappel de cette section sont utilisées pour inscrire ou installer des fournisseurs de magasins de certificats définis par l’application et pour fournir des fonctionnalités connexes par le biais de fonctions de rappel. Les fonctions de rappel sont implémentées par une application et sont appelées par les fonctions CryptoAPI . Les fonctions de rappel permettent à l’application de contrôler, en partie, la façon dont les fonctions CryptoAPI manipulent les données.
| Fonction de rappel | Utilisation |
|---|---|
| CertChainFindByIssuerCallback | Fonction de rappel définie par l’application qui permet à l’application de filtrer des certificats qui peuvent être ajoutés à la chaîne de certificats. |
| CertDllOpenStoreProv | Définit la fonction d’ouverture du fournisseur de magasin. |
| CertEnumPhysicalStoreCallback | Fonction de rappel utilisée par la fonction CertEnumPhysicalStore pour mettre en forme et présenter des informations sur chaque magasin physique trouvé. |
| CertEnumSystemStoreCallback | Fonction de rappel utilisée par la fonction CertEnumSystemStore pour mettre en forme et présenter des informations sur chaque magasin physique trouvé. |
| CertEnumSystemStoreLocationCallback | Fonction de rappel utilisée par la fonction CertEnumSystemStoreLocation pour mettre en forme et présenter des informations sur chaque magasin physique trouvé. |
| CertStoreProvCloseCallback | Détermine ce qui se produit lorsque le nombre de références d’un magasin ouvert devient zéro. |
| CertStoreProvControl | Permet à une application d’être avertie lorsqu’il existe une différence entre le contenu d’un magasin mis en cache utilisé et le contenu de ce magasin lorsqu’il est conservé dans le stockage. |
| CertStoreProvDeleteCertCallback | Détermine les actions à entreprendre avant la suppression d’un certificat d’un magasin de certificats. |
| CertStoreProvDeleteCRLCallback | Détermine les actions à entreprendre avant qu’une liste de révocation de certificats (CRL) soit supprimée d’un magasin de certificats. |
| CertStoreProvDeleteCTL | Détermine si une liste de certificats de confiance peut être supprimée. |
| CertStoreProvFindCert | Recherche le premier certificat, ou suivant, dans un magasin qui correspond aux critères spécifiés. |
| CertStoreProvFindCRL | Recherche la première liste de révocation de certificats dans un magasin qui correspond aux critères spécifiés. |
| CertStoreProvFindCTL | Recherche la première liste de certificats de confiance dans un magasin qui correspond aux critères spécifiés. |
| CertStoreProvFreeFindCert | Libère un contexte de certificat trouvé précédemment. |
| CertStoreProvFreeFindCRL | Libère un contexte de liste de révocation de certificats trouvé précédemment. |
| CertStoreProvFreeFindCTL | Libère un contexte CTL précédemment trouvé. |
| CertStoreProvGetCertProperty | Récupère la propriété spécifiée d’un certificat. |
| CertStoreProvGetCRLProperty | Récupère la propriété spécifiée d’une liste de révocation de certificats. |
| CertStoreProvGetCTLProperty | Récupère une propriété spécifiée d’une liste CTL. |
| CertStoreProvReadCertCallback | Non utilisé actuellement, mais peut être exporté vers des fournisseurs de services de chiffrement futurs. |
| CertStoreProvReadCRLCallback | Non utilisé actuellement, mais peut être exporté vers des fournisseurs de services de chiffrement futurs. |
| CertStoreProvReadCTL | Lisez la copie du fournisseur du contexte de la liste de certificats de confiance et, si elle existe, créez un nouveau contexte de liste de certificats de confiance. |
| CertStoreProvSetCertPropertyCallback | Détermine les actions à effectuer avant un appel à CertSetCertificateContextProperty ou CertGetCertificateContextProperty. |
| CertStoreProvSetCRLPropertyCallback | Détermine les actions à effectuer avant un appel à CertSetCRLContextProperty ou CertGetCRLContextProperty. |
| CertStoreProvSetCTLProperty | Détermine si une propriété peut être définie sur une liste CTL. |
| CertStoreProvWriteCertCallback | Détermine les actions à entreprendre avant d’ajouter un certificat à un magasin. |
| CertStoreProvWriteCRLCallback | Détermine les actions à entreprendre avant d’ajouter une liste de révocation de certificats à un magasin. |
| CertStoreProvWriteCTL | Détermine si une liste de certificats de confiance peut être ajoutée au magasin. |
| CRYPT _ enum _ KEYID _ prop | Fonction de rappel utilisée par la fonction CryptEnumKeyIdentifierProperties . |
| CRYPT _ enum _ , _ fonction OID | Fonction de rappel utilisée par la fonction CryptEnumOIDFunction . |
| _informations d' _ OID d’enum de chiffre _ | Fonction de rappel utilisée par la fonction CryptEnumOIDInfo . |
| CryptGetSignerCertificateCallback | Fonction de rappel utilisée avec la structure du _ message de vérification _ _ de chiffre pour obtenir et vérifier le certificat d’un signataire de message. |
| PCRYPT _ déchiffrer la _ _ clé privée _ Func | Fonction de rappel utilisée par la fonction CryptImportPKCS8 . |
| _chiffrement de la _ clé privée PCRYPT Encrypt _ _ | Fonction de rappel utilisée lors de la création de la structure d' _ _ _ _ informations de clé privée chiffrée . |
| PCRYPT _ résoudre _ HCRYPTPROV _ Func | Fonction de rappel utilisée par la fonction CryptImportPKCS8 . |
| _rappel d' _ erreur d’analyse CDF _ PFN _ | Fonction définie par l’utilisateur appelée pour les erreurs de fonction de définition de catalogue lors de l’analyse d’un fichier de définition de catalogue (CDF). |
| fonction _ de _ _ Tri du contexte de création _ de certificat PFN _ | Appelé pour chaque entrée de contexte triée lorsqu’un contexte est créé. |
| _clé de _ _ _ _ chiffrement du contenu d’importation _ CNG PFN CMSG | Fonction d’installation de l' identificateur d’objet (OID) CNG pour l’importation d’une clé de chiffrement de contenu (clé CEK) déjà déchiffrée. |
| acceptation de la _ _ _ clé d’importation CNG _ PFN CMSG _ | Importe une clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppé. |
| PFN _ CMSG _ - _ _ transfert de clé d’importation CNG _ | Fonction d’OID CNG installable pour l’importation et le déchiffrement d’une clé de chiffrement de contenu (clé CEK) Key-transport-Recipient. |
| acceptation de la clé d’exportation PFN _ CMSG _ _ _ | Chiffre et exporte la clé de chiffrement de contenu pour un destinataire d’accord de clé d’un message enveloppé. |
| PFN _ CMSG _ Exporter la _ clé _ | Chiffre et exporte la clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppé. |
| PFN _ CMSG _ Exporter _ la _ liste des messages | Chiffre et exporte la clé de chiffrement de contenu pour un destinataire de liste de diffusion d’un message enveloppé. |
| _clé de _ _ _ chiffrement du _ contenu PFN CMSG GEN | Génère la clé symétrique utilisée pour chiffrer le contenu d’un message enveloppé. |
| acceptation de la clé d’importation PFN _ CMSG _ _ _ | Importe une clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppé. |
| PFN _ CMSG _ Importer la _ clé _ TRANS | Importe une clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppé. |
| PFN _ CMSG _ Importer _ la _ liste des messages | Importe une clé de chiffrement de contenu pour un destinataire de transport de clé d’un message enveloppé. |
| PFN _ crypt _ Exporter _ public _ Key _ info _ EX2 _ Func | Appelée par CryptExportPublicKeyInfoEx pour exporter un objet blob de clé publique et l’encoder. |
| _paramètres de _ _ signature codés de l’extraction de _ _ chiffrement PFN _ Func | Appelé pour décoder et retourner l’identificateur d’algorithme de hachage et éventuellement les paramètres de signature. |
| signature de chiffrement PFN _ _ _ et codage de la _ _ Func de hachage _ | Appelé pour signer et encoder un hachage calculé. |
| PFN _ crypt _ Vérifier la _ signature encodée _ _ Func | Appelé pour déchiffrer une signature encodée et la comparer à un hachage calculé. |
| PFN _ Importer _ les _ informations de clé publique _ _ EX2 _ Func | Appelée par CryptImportPublicKeyInfoEx2 pour décoder l’identificateur d' algorithme de clé publique , charger le fournisseur d’algorithme et importer la paire de clés. |
| PFNCCERTDISPLAYPROC | Fonction de rappel définie par l’utilisateur qui permet à l’appelant de la fonction CryptUIDlgSelectCertificate de gérer l’affichage des certificats que l’utilisateur sélectionne pour afficher. |
| PFNCMFILTERPROC | Filtre chaque certificat pour décider s’il doit apparaître dans la boîte de dialogue de sélection de certificat affichée par la fonction CertSelectCertificate . |
| PFNCMHOOKPROC | Appelé avant que les messages ne soient traités par la boîte de dialogue de sélection de certificat produite par la fonction CertSelectCertificate . |
Fonctions de définition de catalogue
Ces fonctions sont utilisées pour créer un catalogue. Toutes ces fonctions sont appelées par MakeCat.
| Fonction | Description |
|---|---|
| CryptCATCDFClose | Ferme un fichier de définition de catalogue et libère la mémoire pour la structure CRYPTCATCDF correspondante. |
| CryptCATCDFEnumAttributesWithCDFTag | Énumère les attributs des fichiers membres dans la section CatalogFiles d’un fichier CDF. |
| CryptCATCDFEnumCatAttributes | Énumère les attributs au niveau du catalogue dans la section CatalogHeader d’un CDF. |
| CryptCATCDFEnumMembersByCDFTagEx | Énumère les membres de fichier individuels dans la section CatalogFiles d’un CDF. |
| CryptCATCDFOpen | Ouvre un CDF existant pour la lecture et Initialise une structure CRYPTCATCDF . |
Fonctions de catalogue
Ces fonctions sont utilisées pour gérer un catalogue.
| Fonction | Description |
|---|---|
| CryptCATAdminAcquireContext | Acquiert un handle vers un contexte d’administrateur de catalogue. Ce handle peut être utilisé par les appels ultérieurs aux fonctions CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHashet CryptCATAdminRemoveCatalog . |
| CryptCATAdminAcquireContext2 | Acquiert un handle vers un contexte d’administrateur de catalogue pour un algorithme de hachage et une stratégie de hachage donnés. |
| CryptCATAdminAddCatalog | Ajoute un catalogue à la base de données du catalogue. |
| CryptCATAdminCalcHashFromFileHandle | Calcule le hachage d’un fichier. |
| CryptCATAdminCalcHashFromFileHandle2 | Calcule le hachage d’un fichier à l’aide de l’algorithme spécifié. |
| CryptCATAdminEnumCatalogFromHash | Énumère les catalogues qui contiennent un hachage spécifié. |
| CryptCATAdminReleaseCatalogContext | Libère un handle vers un contexte de catalogue précédemment retourné par la fonction CryptCATAdminAddCatalog . |
| CryptCATAdminReleaseContext | Libère le handle précédemment assigné par la fonction CryptCATAdminAcquireContext . |
| CryptCATAdminRemoveCatalog | supprime un fichier catalogue et supprime l’entrée de ce catalogue de la base de données du catalogue Windows. |
| CryptCATAdminResolveCatalogPath | Récupère le chemin d’accès qualifié complet du catalogue spécifié. |
| CryptCATCatalogInfoFromContext | Récupère des informations de catalogue à partir d’un contexte de catalogue spécifié. |
| CryptCATClose | Ferme un handle de catalogue ouvert précédemment par la fonction CryptCATOpen . |
| CryptCATEnumerateAttr | Énumère les attributs associés à un membre d’un catalogue. |
| CryptCATEnumerateCatAttr | Énumère les attributs associés à un catalogue. |
| CryptCATEnumerateMember | Énumère les membres d’un catalogue. |
| CryptCATGetAttrInfo | Récupère des informations sur un attribut d’un membre d’un catalogue. |
| CryptCATGetMemberInfo | Récupère des informations de membre à partir du fichier PKCS 7 du catalogue # . En plus de récupérer les informations de membre pour une balise de référence spécifiée, cette fonction ouvre un contexte de membre. |
| CryptCATOpen | Ouvre un catalogue et retourne un handle de contexte au catalogue ouvert. |
| IsCatalogFile | Récupère une valeur booléenne qui indique si le fichier spécifié est un fichier catalogue. |
WinTrust, fonctions
Les fonctions suivantes sont utilisées pour effectuer diverses opérations d’approbation.
| Fonction | Description |
|---|---|
| WintrustAddActionID | Ajoute une action de fournisseur d’approbation au système de l’utilisateur. |
| WintrustGetRegPolicyFlags | Récupère les indicateurs de stratégie pour un fournisseur de stratégie. |
| WintrustAddDefaultForUsage | Spécifie l’identificateur d’utilisation par défaut et les informations de rappel pour un fournisseur |
| WintrustGetDefaultForUsage | Récupère l’identificateur d’utilisation par défaut et les informations de rappel. |
| WintrustLoadFunctionPointers | Charge des points d’entrée de fonction pour un GUID d’action spécifié. |
| WintrustRemoveActionID | Supprime une action ajoutée par la fonction WintrustAddActionID . |
| WintrustSetDefaultIncludePEPageHashes | Définit le paramètre par défaut qui détermine si les hachages de page sont inclus lors de la création de données indirectes de package d’interface de sujet (SIP) pour les fichiers exécutables portables. |
| WintrustSetRegPolicyFlags | Définit des indicateurs de stratégie pour un fournisseur de stratégie. |
| WinVerifyTrust | Exécute une action de vérification d’approbation sur un objet spécifié. |
| WinVerifyTrustEx | Exécute une action de vérification d’approbation sur un objet spécifié et prend un pointeur vers une _ structure de données WINTRUST. |
| WTHelperCertCheckValidSignature | Vérifie si une signature est valide. |
| WTHelperCertFindIssuerCertificate | Recherche un certificat d’émetteur à partir des magasins de certificats spécifiés qui correspondent au certificat d’objet spécifié. |
| WTHelperCertIsSelfSigned | Vérifie si un certificat est auto-signé. |
| WTHelperGetFileHash | Vérifie la signature d’un fichier signé et obtient la valeur de hachage et l’identificateur d’algorithme pour le fichier. |
| WTHelperGetProvCertFromChain | Récupère un certificat de fournisseur d’approbation à partir de la chaîne de certificats. |
| WTHelperGetProvPrivateDataFromChain | Reçoit une structure _ _ PRIVDATA du fournisseur de chiffre de la chaîne à l’aide de l’ID du fournisseur. |
| WTHelperGetProvSignerFromChain | Récupère un signataire ou un signataire par index dans la chaîne. |
| WTHelperProvDataFromStateData | Récupère des informations de fournisseur d’approbation à partir d’un handle spécifié. |
Fonctions du localisateur d’objets
Les fonctions de rappel suivantes peuvent être implémentées par un fournisseur personnalisé destiné à être appelé par le package de sécurité de canal sécurisé (SChannel) pour récupérer des certificats.
| Fonction | Description |
|---|---|
| _vidage du _ fournisseur de localisateur d’objet PFN crypt _ _ _ | Spécifie qu’un objet a changé. |
| _fournisseur de _ localisateur d’objets PFN crypt _ _ _ | Récupère un objet. |
| _libération du _ fournisseur de localisateur d’objets _ _ PFN _ | Libère le fournisseur. |
| _ _ _ _ _ mot de passe gratuit du fournisseur _ de localisateur d’objets PFN | Libère le mot de passe utilisé pour chiffrer un tableau d’octets PFX. |
| _fournisseur de _ localisateur d’objets PFN énigmatique _ _ _ gratuit | Libère l’objet retourné par le fournisseur. |
| _ _ _ _ identificateur gratuit du fournisseur de localisateur d' _ objets _ PFN | Libère de la mémoire pour un identificateur d’objet. |
| _ _ _ _ initialisation du fournisseur de localisateur _ d’objet PFN crypt | Initialise le fournisseur. |