IDbCryptPlugin
L’interface IDbCryptPlugin
est l’interface principale du plugin de chiffrement de base de données.
-
setKey
void setKey(StatusType* status, unsigned length, IKeyHolderPlugin** sources, const char* keyName)
est utilisé pour fournir des informations au plugin de chiffrement de base de données sur la clé de chiffrement. Firebird ne transmet jamais directement les clés de ce type de plugin. Au lieu de cela, le tableau
IKeyHolderPlugins
de la longueur spécifiée est passé au plugin de chiffrement, qui doit recevoir l’interfaceICryptKeyCallback
de l’un d’entre eux, puis récupérer la clé en l’utilisant. Le paramètrekeyName
est le nom de la clé qui a été saisie dans l’instructionALTER DATABASE ENCRYPT …
. -
encrypt
void encrypt(StatusType* status, unsigned length, const void* from, void* to)
Chiffre les données avant d’écrire un bloc dans un fichier de base de données
-
decrypt
void decrypt(StatusType* status, unsigned length, const void* from, void* to)
Déchiffre les données après avoir lu le bloc à partir du fichier de base de données.
-
setInfo
void setInfo(StatusType* status, IDbCryptInfo* info)
Dans cette méthode, le plugin de cryptage enregistre généralement l’interface d’information pour une utilisation ultérieure.
Key Keeper pour le plugin de chiffrement de base de données
Ce type de plugin est nécessaire pour différencier la fonctionnalité – le plugin de cryptage de base de données s’occupe du cryptage proprement dit, le détenteur de la clé résout les problèmes liés à la fourniture de la clé de manière sécurisée. Le plugin peut récupérer la clé à partir de l’application ou la télécharger d’une autre manière (jusqu’à utiliser une clé USB insérée dans le serveur au démarrage de Firebird).