-
Notifications
You must be signed in to change notification settings - Fork 1
Password Encryption
Historically, configuration files supported either clear text or base64-encoded passwords. There was an optional property (*.password.isplaintext) that specified how passwords were written in the configuration file: *.password.isplaintext=true declared the password with the same prefix as plain text, *.password.isplaintext=false declared the password as base64-encoded. If *.password.isplaintext was omitted, ConfigurationManager tried to deduce whether the password was plain text or base64-encoded, but there is no way to do this with 100% certainty for all passwords. How ambiguous passwords were interpreted if *.password.isplaintext was omitted depended on which version of Common Framework was used (that behavior changed over time).
Starting with Common Framework 1.4.4, each password is either plain text, or DES encrypted + Ascii85-encoded. Password encryption works as follows: *.password.isencrypted missing means: encrypt this password. *.password.isencrypted=true means: this password is already encrypted. *.password.isencrypted=false means: do not encrypt this password Users will enter plain text passwords into the config file, and the utility will automatically replace them in-place with encrypted passwords (setting the new *.password.isencrypted property to true as it does it) unless it finds *.password.isencrypted=false.
When creating a new config file, the user enters the plain text password in the value of the *.password property.
Note: If no encryption is wanted, insert: *.password.isencrypted=false.
To change a password, the user changes the *.password value to the plain text password. If he wants the password to be automatically encrypted, he removes the *.password.isencrypted property. If he wants the password to be left in plain text, he sets *.password.isencrypted=false. All password properties must be of the pattern *.password. All properties of the form *.password must be passwords that are subject to these encryption rules.