Glasnost

Points d'entrée

Un fournisseur de service cryptographique se doit d'accepter tous les points d'entrée suivant. Les deux derniers points d'entrée se sont obligatoires que pour les CSP de familles PROV_RSA_SCHANNEL et PROV_DH_SCHANNEL.

Nous ne faisons ici qu'un rapide parcours des fonctions à implémenter dans un CSP, `la liste complète se trouve sur la page en anglais de la MSDN`_.

CPAcquireContext

Cette fonction permet d'initialiser un contexte applicatif cryptographique. Elle permet de réutiliser un contenant de clé ou d'en créer un.

CPCreateHash

Cette fonction permet d'obtenir un objet de hachage. Cette objet est créé en spécifiant l'algorithme (et pour certain la clé) qui sera utilisé pour hacher un flux de données.

CPDecrypt

Cette fonction décrypte des données et peut aussi produire un hachage des données décryptées.

CPDeriveKey

Permet d'obtenir une clé de session cryptographique dérivée de données de base. Ces données sont contenues dans un objet de hachage. Une fois cette fonction utilisée, l'objet de hachage n'est plus modifiable.

CPDestroyHash

Détruit un objet de hachage, le rendant ainsi inutilisable.

CPDestroyKey

Détruit un gestionnaire de clés, le rendant ainsi inutilisable.

CPEncrypt

Crypte des données selon un certain algorithme et peut aussi générer le hachage des données avant cryptage.

CPExportKey

Exporte les clés d'un contenant de clés. Les clés sont exportées dans un BLOB chiffré.

CPGenKey

Génère une clé ou une paire de clés.

CPGenRandom

Rempli un buffet de données aléatoires.

CPGetHashParam

Permet de récupérer des informations sur un objet de hachage, tel que le résultat haché par exemple.

CPGetKeyParam

Permet de récupérer des informations sur les clés, comme leur tailles, leur type etc…

CPGetProvParam

Permet de récupérer des informations sur le CSP, telles que sa famille, son contenant de clé actif, etc…

CPGetUserKey

Récupère le gestionnaire de l'une des paires de clés permanente dans le contenant du CSP.

CPHashData

Transmet des informations à hacher dans un objet de hachage.

CPHashSessionKey

Transmet une clé à un objet de hachage. Il est ainsi possible de hacher des clés sans pour autant y avoir accès.

CPImportKey

À partir d'un BLOB de clé récupère la clé ou la paire de clé, et l'ajoute dans un contenant de clé.

CPReleaseContext

Libère le contexte cryptographique, c'est la fin de l'application cryptographique.

CPSetHashParam

Personnalise le comportement d'un objet de hachage.

CPSetKeyParam

Défini les usages de la clé.

CPSetProvParam

Paramètre le CSP, en lui fournissant par exemple les fenêtres à utiliser pour interagir avec l'utilisateur.

CPSignHash

Signe un objet de hachage.

CPVerifySignature

Vérifie une signature digitale, cela implique: - La terminaison de l'objet de hachage fournis, - Le hachage est récupéré et bourré, - La signature est décryptée et son contenu est vérifié avec le hachage obtenu.

CPDuplicateHash

Clone un objet de hachage.

CPDuplicateKey

Clone un gestionnaire de clé et ses clés associées.