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:
Issue description:
Two types of credentials are found in classes,
SharedDatabasePreferencesandProxyPreferences. And in these classes, password and username are insecurely saved in a file.As for login credentials in
ProxyPreferences, it is included byJabRefPreferences. All the preferences inJabRefPreferencesare saved in a file named "jabref.xml". When users log into the program, in the mainJabRefMain, it reads the username and password fromJabRefPreferences.ShareDatabasePreferencesis included byDBMSConnectionProperties. 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
setPasswordandgetPasswordin both classes.Requirements: