Why do I get a 'Invalid Character in a Base-64 String' error?
search cancel

Why do I get a 'Invalid Character in a Base-64 String' error?


Article ID: 176714


Updated On:


IT Management Suite


The error message 'Invalid Character in a Base-64 String' recently appeared in the Notification Server error log.  This error occurred immediately after attempting to select a database for the Notification Server to connect to, using the Database Setting option 

Process: w3wp.exe (58784)

Thread ID: 61688

Module: AltirisNativeHelper.dll

Source: cfgDbSettings.OnPreRender

Description: Invalid character in a Base-64 string.


No matter how many times the dropdown was clicked to attempt to select a database, a blank dropdown would show, and the ‘Invalid Character in a Base-64 String' error showed up in the Notification Server logs, and at the bottom of the database configuration page as well.





Initially, troubleshooting this issue centered on the wrong database access account, and database permissions.  Once it was established that all of those items were set correctly, we focused on what ended up being the real problem, the database password.


Under normal operating circumstances, the password appears in the Coresettings.config file, as an encrypted hash.  A normal entry for this would look like:


customSetting key="DbPassword" type="local" value="zT7+YwwpG8c="


In the problem one, we had an entry that looked similar to:


<customSetting key="DbPassword" type="local" value="RrZs#wd$" />


Note that the second entry does NOT have an ‘=’ sign at the end.  The presence of this equals sign signifies that the hashing mechanism has been successfully applied during the password encryption part – to avoid displaying a clear text password in this file.  In our case, somehow that procedure had been unsuccessfully attempted.


To resolve the issue, we simply edited the Coresettings.config file and replaced the value of the DbPassword key.  The line appeared like this:


<customSetting key="DbPassword" type="local" value="" />


This forced the Notification server to temporarily use the password of the application identity (in out case this was the correct database credential set anyway), and when we opened the UI, we were able to view the database dropdowns correctly.