Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v18.4
dataStore.provideDataKey( )

dataStore.provideDataKey( ) 


 

dataStore.provideDataKey ( curPassPhrase | curDataKey ) -> Resultado 
Parámetro Tipo   Descripción
curPassPhrase | curDataKey  Texto, Objeto in Frase de contraseña actual (texto) o llave de cifrado de datos actual (objeto)
Resultado  Objeto in Resultado de la llave de encripción correspondiente

El método dataStore.provideDataKey( ) permite proporcionar una llave de cifrado de datos para el archivo de datos actual del almacén de datos y detecta si la llave coincide con los datos cifrados. Este comando se puede utilizar al abrir una base de datos cifrada o al ejecutar cualquier operación de cifrado que requiera la llave de cifrado, como volver a cifrar el archivo de datos.

Notas:

  • El método dataStore.provideDataKey( ) debe llamarse en una base de datos cifrada. Si se llama en una base de datos no cifrada, se devuelve el error 2003 (la llave de cifrado no coincide con los datos). Utilice el comando Data file encryption status para determinar si la base de datos está encriptada.
  • El método dataStore.provideDataKey( ) no se puede llamar desde un 4D remoto o un almacén de datos remoto encriptado.

En el parámetro, pase el curPassPhrase o curDataKey que coincida con la base de datos:

  • curPassPhrase: cadena utilizada para generar la llave de cifrado de datos. Cuando se utiliza este parámetro, se genera una llave de cifrado.
  • curDataKey: objeto (con propiedad encodedKey) que contiene la llave de cifrado de datos. Esta llave puede haberse generado con el comando New data key.

Si se proporciona una llave de cifrado de datos válida, se agrega a keyChain en la memoria y se habilita el modo de cifrado:

  • todas las modificaciones de datos en tablas encriptables están encriptadas en el disco (archivos .4DD, .journal. 4Dindx)
  • todos los datos cargados de tablas encriptables se descifran en la memoria

Resultado

El resultado del comando se describe en el objeto devuelto:

PropiedadTipoDescripción
successBooleanoTrue si la llave de cifrado proporcionada coincide con los datos cifrados, de lo contrario False
Las propiedades a continuación se devuelven solo si el éxito es FALSE
statusNúmeroCódigo de error (4 si la llave de cifrado proporcionada es incorrecta)
statusTextTextoMensaje de error
errorsColecciónPila de errores. El primer error tiene el índice más alto.
[ ].componentSignatureTexotNombre del componente interno
[ ].errCodeNúmeroNúmero de error
[ ].messageTextoMensaje de error

Si no se proporciona curPassphrase o curDataKey, dataStore.provideDataKey( ) devuelve null (no se genera ningún error).

Ejemplo  

 C_OBJECT($keyStatus)
 C_TEXT($passphrase)
 
 $passphrase:=Request("Ingrese la frase contraseña")
 If(OK=1)
    $keyStatus:=ds.provideDataKey($passphrase)
    If($keyStatus.success)
       ALERT("Ha suministrado una llave de cifrado válida")
    Else
       ALERT("Ha suministrado una llave de cifrado no válida, no podrá trabajar con datos cifrados")
    End if
 End if



Ver también 

4D Blog - New 4D commands to work with encrypted data
Data file encryption status
Encrypt data file
New data key

 
PROPIEDADES 

Producto: 4D
Tema: ORDA - DataStore

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v17 R5

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v18)
Manual de lenguaje 4D ( 4D v18.4)
Manual de lenguaje 4D ( 4D v18.6)