Architecture du système CryptoAPI
L’architecture système CryptoAPI est composée de cinq domaines fonctionnels majeurs :
- Fonctions de chiffrement de base
- Fonctions de codage/décodage de certificat
- Fonctions du magasin de certificats
- Fonctions de message simplifiées
- Fonctions de message de bas niveau
Fonctions de chiffrement de base
- Fonctions de contexte utilisées pour se connecter à un CSP. Ces fonctions permettent aux applications de choisir un CSP spécifique par nom ou de choisir un CSP spécifique qui peut fournir une classe de fonctionnalité nécessaire.
- Fonctions de génération de clés utilisées pour générer et stocker des clés de chiffrement. La prise en charge complète est incluse pour la modification des modes de chaînage, des vecteurs d’initialisationet d’autres fonctionnalités de chiffrement. pour plus d’informations, consultez génération de clés et fonctions de Exchange.
- Fonctions d’échange de clés utilisées pour échanger ou transmettre des clés. pour plus d’informations, consultez Stockage de clé de chiffrement et Exchange et génération de clés et Exchange fonctions.
Fonctions de codage/décodage de certificat
- Fonctions utilisées pour chiffrer ou déchiffrer des données. La prise en charge est également incluse pour le hachage des données. Pour plus d’informations, consultez fonctions de chiffrement et de déchiffrement des données et chiffrement et déchiffrement des données.
Fonctions du magasin de certificats
- Fonctions utilisées pour gérer les collections de certificats numériques. Pour plus d’informations, consultez certificats numériques et fonctions du magasin de certificats.
Fonctions de message simplifiées
- Fonctions utilisées pour chiffrer et déchiffrer les messages et les données.
- Fonctions utilisées pour signer les messages et les données.
- Fonctions utilisées pour vérifier l’authenticité des signatures sur les messages reçus et les données associées.
Pour plus d’informations, consultez messages simplifiés et fonctions de message simplifiées.
Fonctions de message de bas niveau
- Fonctions utilisées pour effectuer toutes les tâches effectuées par les fonctions de message simplifiées. Les fonctions de message de bas niveau offrent plus de flexibilité que les fonctions de message simplifiées, mais nécessitent davantage d’appels de fonction. Pour plus d’informations, consultez messages de bas niveau et fonctions de message de bas niveau.

Chacune des zones fonctionnelles a un mot clé dans son nom de fonction qui indique sa zone fonctionnelle.
| Zone fonctionnelle | Convention de nom de fonction |
|---|---|
| Fonctions de chiffrement de base | Compliqué |
| Fonctions d’encodage/décodage | Compliqué |
| Fonctions du magasin de certificats | Magasin |
| Fonctions de message simplifiées | Message |
| Fonctions de message de bas niveau | Fragment |
Les applications utilisent des fonctions dans tous ces domaines. Ces fonctions, prises ensemble, composent CryptoAPI. Les fonctions de chiffrement de base utilisent les CSP pour les algorithmes de chiffrement nécessaires et pour la génération et le stockage sécurisé des clés de chiffrement.
Deux types de clés de chiffrement sont utilisés : les clés de session, qui sont utilisées pour un chiffrement/déchiffrement unique, et les paires de clés publique/privée, qui sont utilisées de façon plus permanente.
Notes
Bien qu’une application puisse communiquer directement avec l’une des cinq zones fonctionnelles, elle ne peut pas communiquer directement avec un CSP. Toutes les communications entre les applications et CSP se produisent par le biais des fonctions de chiffrement de base. Les fonctions de chiffrement de base ont un paramètre qui spécifie le fournisseur de services de chiffrement à utiliser. Ce paramètre peut avoir la valeur null pour sélectionner un CSP par défaut.