メインコンテンツまでスキップ
バージョン: 20 R7 BETA

Data file encryption status

Data file encryption status ( structurePath , dataPath ) -> 戻り値

引数説明
structurePathTextチェックする4Dストラクチャーファイルへのパス名
dataPathTextチェックするデータファイルへのパス名
戻り値Objectデータファイルとそれぞれのテーブルの暗号化についての情報

説明

Data file encryption status コマンドは、structurePath および dataPath 引数で指定したデータファイルの、暗号化ステータスをあらわすオブジェクトを返します。それぞれのテーブルについてのステータスも同時に提供されます。

dataPath 引数は、4D データファイル(.4dd) を指定します。このファイルはstructurePath 引数で指定されたストラクチャーファイルと対応している必要があります。カレントのストラクチャーファイルを指定することはできますが、データファイルはカレントの(開かれている)ファイルを指定することはできません。

注: カレントデータファイルの暗号化ステータスを調べるためには、ds.encryptionStatus( ) メソッドを使用してください。

戻り値

返されたオブジェクトには、以下のプロパティが格納されています:

プロパティ詳細
isEncryptedブールデータファイルが暗号化されていればTrue
keyProvidedブール暗号化されたデータファイルに合致する暗号化キーが4D キーチェーン(*)に入っていればTrue
tablesオブジェクト暗号化可能 に設定されている、または 暗号化されている テーブルと同じ数だけプロパティを格納しているオブジェクト
<table name>オブジェクト暗号化可能または暗号化済みテーブル
nameテキストテーブル名
num数値テーブル番号
isEncryptableブールテーブルがストラクチャーファイル内で暗号化可能と宣言されていればTrue
isEncryptedブールテーブルのレコードがデータファイル内で暗号化されていればTrue

(*) 暗号化キーは、以下のように提供されている必要があります:

  • 事前に渡す:
    • データファイルが開かれる前に、接続されているデバイスを使用して渡す
    • データファイルが開かれる際に、ds.provideDataKey( ) コマンドを使用して渡す
    • データファイルが開かれた後に、Discover data key コマンドを使用して渡す
  • Register data key コマンドを使用して渡す

例題

カレントのストラクチャーファイルに対応するデータファイルの暗号化ステータスを知りたい場合を考えます:

 var $status : Object
 
 $status:=Data file encryption status(Structure file;"D:\\Invoices\\Data_2019\\Invoices.4dd")
 Case of
    :(Not($status.isEncrypted)) // 暗号化されていない
       ALERT("The data file is not encrypted")
    :($status.isEncrypted&(Not($status.keyProvided)) // 暗号化はされているが暗号化キーがない
       ALERT("The data file is encrypted and the encryption key is not in the keychain. You will not have access to encrypted data.")
    :($status.isEncrypted&$status.keyProvided) // 暗号化されており、暗号化キーもある
       ALERT("The data file is encrypted and the encryption key is in the keychain. You will have access to encrypted data.")
 End case

参照

Encrypt data file