4D v19

dataStore.provideDataKey( )

Página Inicial

 
4D v19
dataStore.provideDataKey( )

dataStore.provideDataKey( )  


 

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 


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 

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)