Nové příkazy 4D pro práci se zašifrovanými daty

Automaticky přeloženo z Deepl

V předchozím příspěvku jsme se zabývali tím, jak začít se šifrováním datových souborů. Nyní probereme další způsob práce se šifrovanými datovými soubory: Nové příkazy 4D. Tyto příkazy jsou navrženy tak, aby podporovaly většinu požadavků na šifrování a umožnily vám dodávat zákazníkům šifrované řešení.

HDI: Příklad příkazů pro šifrování dat

Šifrování datového souboru

Kromě MSC můžete spravovat šifrování pomocí příkazů Encrypt data file() příkazem:

C_TEXT($folder;$passphrase)
$passphrase :=Request("Zadejte přístupovou frázi")
if (OK=1)
$folder :=Encrypt data file("Macintosh HD:Users:structures:myDataBase.4DB";
"Macintosh HD:Users:data:myData.4DD";$passphrase)
// myData.4DD is not opened
End if

Poskytnutí klíče pro šifrování dat prostřednictvím jazyka

Kromě automatického zjišťování klíče pro šifrování dat v systému 4D je k dispozici nový příkaz provideDataKey() Příkaz je k dispozici v ds objektu pro zadání šifrovacího klíče k otevřenému datovému souboru. To je užitečné při vytváření vlastního uživatelského rozhraní pro řízení přístupu k šifrovaným datům.

Zatímco na adrese ds je funkcí ORDA, příkaz provideDataKey() příkaz je platný jak pro kód ORDA, tak pro klasický kód 4D.

C_OBJECT($keyStatus)
C_TEXT ($passphrase)
$passphrase :=Request("Zadejte přístupovou frázi")
if (OK=1)
$keyStatus :=ds.provideDataKey($passphrase)
If ($keyStatus.success)
ALERT ("Poskytli jste platný šifrovací klíč")
Else
ALERT ("Poskytli jste neplatný šifrovací klíč. Přístup k zašifrovaným datům je odepřen.")
End if
End if

ZÍSKÁNÍ STAVU ŠIFROVÁNÍ

Nový encryptionStatus() příkaz je k dispozici také v ds objektu. Kontroluje, zda je otevřený datový soubor zašifrován a zda byl zadán platný šifrovací klíč dat.

C_OBJECT($status;$provideStatus)
C_TEXT ($passphrase)
$status :=ds.encryptionStatus()
Case of
: (Not($status.isEncrypted))
ALERT("Data nejsou zašifrována")
: (($status.isEncrypted) & (Not($status.keyProvided)))
ALERT ("Data jsou zašifrována a neuvedli jste platný šifrovací klíč. Přístup k zašifrovaným datům je odepřen.")
: (($status.isEncrypted) & ($status.keyProvided))
ALERT("Data jsou zašifrována a šifrovací klíč již byl poskytnut. Přístup k zašifrovaným datům je povolen.")
End case

DALŠÍ PŘÍKAZY

stav neotevřeného souboru DATA

Příkaz Data file encryption status() vrátí stav šifrování zadaného neotevřeného datového souboru. To umožňuje ověřit stav šifrování datového souboru před jeho otevřením.

new data key()

Příkaz New data key() příkaz vygeneruje binární šifrovací klíč dat ze zadané přístupové fráze. Vzhledem k tomu, že 4D při otevření datového souboru automaticky vyhledává platný šifrovací klíč na připojených zařízeních, umožňuje tento příkaz vygenerovat vlastní binární šifrovací klíč, který pak můžete zapsat do souboru.

zjistit datový klíč

Pokud před otevřením datového souboru zapomenete připojit zařízení obsahující váš šifrovací klíč, můžete použít příkaz Discover data key() příkaz k zadání klíče.

register data key()

Chcete-li se vyhnout poskytování klíče k šifrování dat při každém otevření datového souboru, můžete použít příkaz Register data key() příkaz přidat jej do klíčenky 4D.

příkazy v akcích

Výše uvedené HDI demonstruje všechny příkazy v tomto příspěvku, abyste získali přehled s konkrétními příklady jejich použití pro vlastní databáze.

Avatar
• Product Owner • Marie-Sophie Landrieu-Yvert se připojila k programovému týmu 4D jako Product Owner v roce 2017. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Marie-Sophie vystudovala inženýrskou školu ESIGELEC a svou kariéru zahájila jako inženýrka v IBM v roce 1995. Podílela se na různých projektech (projekty údržby nebo výstavby) a pracovala jako vývojářka Cobol. Poté pracovala jako UML designer a Java developer. V poslední době byly jejími hlavními rolí analyzovat a psát funkčních požadavky a koordinovat obchodní a vývojové týmy.