Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v18.4
dataStore.provideDataKey( )

dataStore.provideDataKey( ) 


 

dataStore.provideDataKey ( curPassPhrase/curDataKey ) -> Resultado 
Parâmetro Tipo   Descrição
curPassPhrase/curDataKey  Texto, Objeto in Passe frase atual - texto ou chave atual de criptografia de dados - objeto)
Resultado  Objeto in Resultado da validação da chave de criptografia

O método dataStore.provideDataKey( ) permite proporcionar uma chave de cifrado de dados para o arquivo de dados atual do armazem de dados e detecta se a chave coincide com os dados cifrados. Este comando pode ser utilizado ao abrir um banco de dados cifrado ou ao executar qualquer operação de cifrado que requeira a chave de cifrado, como voltar a cifrar o arquivo de dados.

Notas:

  • O método dataStore.provideDataKey( ) deve ser chamada em um banco de dados cifrado. Se for chamado em um banco de dados não cifrado, o erro 2003 é devolvido (a chave de cifrado não coincide com os dados). Utilize o comando Data file encryption status para determinar se o banco de dados estiver criptografado.
  • O método dataStore.provideDataKey( ) não pode ser chamada desde um 4D remoto.

No parâmetro, passe o curPassPhrase ou curDataKey que coincida com o banco de dados:

  • curPassPhrase: string utilizada para gerar a chave de cifrado de dados. Quando utilizar este parâmetro, se gera uma chave de cifrado.
  • curDataKey: objeto (com propriedade encodedKey) que contém a chave de cifrado de dados. Esta chave pode ser gerada com o comando New data key.

Se proporcionar uma chave de cifrado de dados válida,  keyChain é agregada na memória e se habilita o modo de cifrado:

  • todas as modificações de dados em tabelas criptografáveis estão criptografadas no disco (arquivos .4DD, .journal. 4Dindx)
  • todos os dados carregados de tabelas criptografadas são descifrados na memória

Resultado

O resultado do comando se descreve no objeto devolvido:

PropriedadeTipoDescrição
successBooleanoTrue se a chave de cifrado proporcionada coincidir com os dados cifrados, do contrário False
As propriedades a seguir são devolvidas apenas se sucess for FALSE
statusNúmeroCódigo de erro (4 se a chave de cifrado proporcionada for incorreta)
statusTextTextoMensagem de erro
errorsColecciónPilha de erros. O primeiro erro tem o índice mais alto.
[ ].componentSignatureTextoNome do componente interno
[ ].errCodeNúmeroNúmero de errr
[ ].messageTextoMensagem de erro

Se não proporcionar curPassphrase ou curDataKey, dataStore.provideDataKey( ) devolve null (não é gerado um erro).

Exemplo  

 C_OBJECT($keyStatus)
 C_TEXT($passphrase)
 
 $passphrase:=Request("Ingresse a passe-frase")
 If(OK=1)
    $keyStatus:=ds.provideDataKey($passphrase)
    If($keyStatus.success)
       ALERT("Você deu uma chave de cifrado válida")
    Else
       ALERT("Você deu uma chave de cifrado não válida, não poderá trabalhar com dados cifrados")
    End if
 End if



Ver também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: ORDA - DataStore

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v17 R5

 
ARTICLE USAGE

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