IMPORTENCRYPTIONKEY
Points to a password protected file that contains the key on the current server.
When encrypting or decrypting data in Dynamics NAV, an encryption key is used. Dynamics NAV uses a single key per tenant and every tenant will have a different key. Keys can be created or imported if one exists already, as may be the case if upgrading or migrating a system from one set of hardware to another. The IMPORTENCRYPTIONKEY function allows an administrator to specify a file (password protected) which contains a key and imports it to the current Microsoft Dynamics NAV Server.
Note
In systems with multiple Microsoft Dynamics NAV Server instances, you must run the IMPORTENCRYPTIONKEY function for each instance.
Important
Use the System Restore permission set in Dynamics NAV to allow importing the encryption key.
Syntax
IMPORTENCRYPTIONKEY(filename, pwd)
Parameters
filename
Value: String
The file that contains the encryption key.
pwd
Value: String
The password that protects the file.
Return Value
Type: Boolean
true if the encryption key was imported; otherwise, false.
If you omit this optional return value and the encryption key cannot be imported successfully, then a run-time error occurs. If you include the return value, then you must handle any errors.
Exceptions
If the import key file cannot be imported, the following error will be displayed: Import Failed. The provided encryption key file contains invalid data and could not be imported.
Example
This code example uses the ENCRYPTIONENABLED and ENCRYPTIONKEYEXISTS functions to do a check before importing the encryption key.
This example requires that you create a text constant ServerFileName.
IF ENCRYPTIONENABLED THEN
IF ENCRYPTIONKEYEXISTS THEN
IF NOT CONFIRM('Encryption has been enabled and the server already contains an encryption key.\'
+ 'Importing a key will overwrite any existing key and may result in lost data.\\'
+ 'Do you wish to continue?') THEN
EXIT
ELSE
IF NOT CONFIRM('Importing a key different from the already configured key will result in data corruption.\\'
+ 'Do you wish to continue?') THEN
EXIT
IF NOT UPLOAD('Upload encrypted key','','Encrypted Key File (*.ekey)|*.ekey','ExportedKey.ekey',ServerFileName) THEN
EXIT;
IMPORTENCRYPTIONKEY(ServerFileName,'This is my personal secret');
ERASE(ServerFileName);
See Also
Encryption Key Management
EXPORTENCRYPTIONKEY
Encryption Functions