Dans un article précédent, nous avons expliqué comment commencer à utiliser le cryptage des fichiers de données. Nous allons maintenant aborder un moyen supplémentaire de travailler avec des fichiers de données chiffrés : Les nouvelles commandes 4D. Ces commandes sont conçues pour prendre en charge la plupart des exigences de cryptage et vous permettent de fournir une solution cryptée à vos clients.
HDI : Exemple de commandes de cryptage de données
Cryptage d’un fichier de données
En plus du MSC, vous pouvez gérer le cryptage avec la Encrypt data file() pour gérer le cryptage :
C_TEXT($folder;$passphrase)
$passphrase :=Request("Entrez la phrase de passe")
if (OK=1)
$folder :=Encrypt data file("Macintosh HD:Users:structures:maDataBase.4DB" ;
"Macintosh HD:Users:data:maData.4DD" ;$passphrase) // myData.4DD is not opened
End if
Fournir la clé de cryptage des données via la langue
En plus de la détection automatique de la clé de cryptage des données de 4D, la nouvelle commande provideDataKey() est disponible dans l’objet ds pour fournir la clé de cryptage des données à un fichier de données ouvert. Ceci est utile lorsque vous construisez votre propre interface utilisateur pour contrôler l’accès à vos données cryptées.
Bien que ds soit une fonctionnalité ORDA, la commande provideDataKey() est valable aussi bien pour le code ORDA que pour le code 4D classique.
C_OBJECT($keyStatus)
C_TEXT ($passphrase)
$passphrase :=Request("Entrez la phrase de passe")
if (OK=1)
$keyStatus :=ds.provideDataKey($passphrase)
If ($keyStatus.success)
ALERT ("Vous avez fourni une clé de cryptage valide")
Else
ALERT ("Vous avez fourni une clé de cryptage invalide. L'accès aux données cryptées est refusé.")
End if
End if
OBTENIR L’ÉTAT DE CRYPTAGE
La nouvelle commande encryptionStatus() est également disponible dans l’objet ds objet. Elle vérifie si le fichier de données ouvert est crypté ou non et si une clé de cryptage des données valide a été fournie.
C_OBJECT($status;$provideStatus)
C_TEXT ($passphrase)
$status :=ds.encryptionStatus()
Case of
: (Not($status.isEncrypted) )
ALERT("Les données ne sont pas cryptées")
: (($status.isEncrypted) & (Not($status.keyProvided)))
ALERT ("Les données sont cryptées et vous n'avez pas fourni de clé de cryptage valide. L'accès aux données cryptées est refusé.")
: (($status.isEncrypted) & ($status.keyProvided))
ALERT("Les données sont cryptées et la clé de cryptage a déjà été fournie. L'accès aux données cryptées est autorisé.")
End case
AUTRES COMMANDES
état du fichier DATA non ouvert
La commande Data file encryption status() renvoie l’état de cryptage d’un fichier de données spécifié, non ouvert. Cela vous permet de vérifier l’état de cryptage d’un fichier de données avant de l’ouvrir.
nouvelle clé de données()
La commande New data key() génère une clé de cryptage des données binaires à partir d’une phrase de passe donnée. Étant donné que 4D recherche automatiquement une clé de cryptage des données valide sur les périphériques connectés lorsqu’un fichier de données est ouvert, cette commande vous permet de générer votre propre clé de cryptage des données binaires que vous pouvez ensuite écrire dans un fichier.
découvrir la clé de données
Si vous oubliez de connecter le périphérique contenant votre clé de cryptage des données avant d’ouvrir un fichier de données, vous pouvez utiliser la commande Discover data key() pour fournir la clé.
enregistrer une clé de données()
Pour éviter de fournir la clé de cryptage des données chaque fois que vous ouvrez un fichier de données, vous pouvez utiliser la commande Register data key() pour l’ajouter au trousseau de clés 4D.
Commandes dans les actions
L’IDH ci-dessus démontre toutes les commandes de ce billet de blog pour vous donner une vue d’ensemble avec des exemples concrets sur la façon de les utiliser pour vos propres bases de données.