Backup restored with errors: "Data error (cyclic redundancy check). (Error code 23) at BCryptDecrypt()"

Refers to:

  • Plesk 11.5 for Windows
  • Plesk 11.5 for Linux
  • Plesk
  • Plesk 12.0 for Windows
  • Plesk 12.5 for Windows
  • MT:618d75dd8cedc0724a99be2b5111a6ae
  • MT:0e586abc123dd3b7d5b1a5e1a56751bc
  • MG:1e5c30f8f58c73de2d64ad27eb425011

Created:

2016-11-16 13:04:06 UTC

Modified:

2017-02-13 06:13:00 UTC

0

Was this article helpful?


Have more questions?

Submit a request

Backup restored with errors: "Data error (cyclic redundancy check). (Error code 23) at BCryptDecrypt()"

Symptoms

The backup restoration process finishes with the following errors:

    Execution of "C:\\Program Files (x86)\\Parallels\\Plesk\\bin\\user.exe" --create user@domain.test -owner customer1 -guid e00aa2c5-f47f-1fe5-4134-436c5595c7c5 -cname user@domain.test -passwd "" -passwd_type sym -status enabled -domain-admin false -role "Mail User" -for-all-subscriptions -ignore-nonexistent-options failed with return code 3.
Stderr is
Data error (cyclic redundancy check). (Error code 23) at BCryptDecrypt()

Also, in Plesk 12.5 the restoration may fail with the following error:

Erro: Unable to decrypt data: Data error (cyclic redundancy check). (Error code 23) at BCryptDecrypt()
at (AesCryptProvider::decrypt line 143)
at (zif_plesk_symmetric_decrypt line 2365)

Cause

The restored backup was copied from another Plesk server's backup repository directly, without a proper export (usually by uploading to the FTP backup repository or downloading the backup file from the Plesk interface).

This results in presence of passwords encrypted with the original server's unique randomly generated key which cannot be decrypted by another Plesk server.

Resolution

NOTE: The script works only in Plesk 12 and earlier.

If the source server is still available, it is recommended to download the backup from the Plesk interface or configure a Personal FTP repository and create a new backup to the repository. Both of these operations can be accomplished at the Tools & Settings > Backup Manager screen and, in both cases, the passwords will be properly decrypted in the backups.

If the source server is not available, the only choice is to replace all passwords in the XML files of the backup. Follow these instructions:

1) Download and unpack the attached script into the directory with the Plesk backup that is to be restored.

2) Open the administrator's command prompt and navigate to the same directory.

3) Once it is done, execute the following command:

for /r %x in (*.xml) do "%plesk_dir%\\Additional\\perl\\bin\\perl.exe" -p -i~ fix_sym_passwd.pl "%x"

The script will replace all encrypted passwords with randomly generated passwords, which will allow you to properly restore the backup.

NOTE : The script creates backup ( .xml~) of .xml files. Move all *.xml~ files to another location because they can block a restoration process (software issue PPPM-3140 ).

After the backup is restored, the following user classes will have their passwords reset and need to be updated:

* Control panel users
* Mail users
* FTP users
* Protected directory users
* Database users

For a fast mass update of passwords, use the Plesk password mass-reset script from this article: #213958025 .

fix_sym_passwd.zip

In case of Plesk 12.5 on Windows, you can apply this patch .

  1. First, back up the original file

    %plesk_dir%admin\\plib\\backup\\Encryptor.php

    For example, rename it to " Encryptor.php_orig "

  2. Place the aforementioned patch to this location

This script will reset all the passwords during restoration. When the restoration finishes, the list of reset passwords will be provided in GUI. It will look like this:

    The password was generated for user 'user1@example.com'. New password is '********'

For Plesk 12.5 and higher versions, the internal request PPPM-3752 has been submitted in order to improve such restoration procedures.

Have more questions? Submit a request
Please sign in to leave a comment.