-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Issue description:
Two types of credentials are found in classes, SharedDatabasePreferences and ProxyPreferences. And in these classes, password and username are insecurely saved in a file.
As for login credentials in ProxyPreferences, it is included by JabRefPreferences. All the preferences in JabRefPreferences are saved in a file named "jabref.xml". When users log into the program, in the main JabRefMain, it reads the username and password from JabRefPreferences.
ShareDatabasePreferences is included by DBMSConnectionProperties. It is used to synchronise shared database.
Solution:
Library java-Keyring could support to save the passwords into system. Idea for this issue is to let the program save and read passwords from Keyring rather than a file. https://github.com/xafero/java-keyring/tree/7c26961cc422d6621946947631e10524601d7fee
There are setPassword and getPassword in both classes.
Requirements:
- Requirement R5 - Securely store network proxy password on system #52
- Requirement R6 - Securely store shared database password on system #53
- Requirement R7 - Migrate network proxy password from plaintext to credential manager #54
- Requirement R8 - Migrate shared database password from plaintext to credential manager #55