Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 334775 - [server] Implement User Service on Equinox Secure Storage
Summary: [server] Implement User Service on Equinox Secure Storage
Status: RESOLVED FIXED
Alias: None
Product: Orion
Classification: ECD
Component: Client (show other bugs)
Version: 0.2   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: 0.2   Edit
Assignee: Szymon Brandys CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 334120 334655
  Show dependency tree
 
Reported: 2011-01-19 07:39 EST by Szymon Brandys CLA
Modified: 2016-03-23 06:17 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Szymon Brandys CLA 2011-01-19 07:39:27 EST
We should store credentials in a more secure way.
Comment 1 Szymon Brandys CLA 2011-01-24 06:53:13 EST
Fixed.
Comment 2 John Arthorne CLA 2011-01-24 16:25:01 EST
This doesn't work on 64-bit windows or Linux because there is no password provider. orion.eclipse.org is a Linux machine so it means authentication won't work on that server.

Equinox secure storage provides a default password provider, however it is defined in org.eclipse.equinox.security.ui, which obviously has UI dependencies and is not appropriate for the server. I think we will need to add a PasswordProvider that obtains the password from a system property, so that we have a solution that works on all platforms (this could maybe be contributed back to equinox in the future, but we need something for M5).
Comment 3 John Arthorne CLA 2011-01-24 16:26:04 EST
This is the error I get attempting to run the server on 64-bit windows:

org.eclipse.equinox.security.storage.StorageException: No secure storage modules found.
	at org.eclipse.equinox.internal.security.storage.PasswordProviderSelector.findStorageModule(PasswordProviderSelector.java:190)
	at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:231)
	at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:224)
	at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:224)
	at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110)
	at org.eclipse.orion.internal.server.user.securestorage.SecureStorageUserAdmin.internalCreateOrUpdateUser(SecureStorageUserAdmin.java:138)
	at org.eclipse.orion.internal.server.user.securestorage.SecureStorageUserAdmin.createUser(SecureStorageUserAdmin.java:110)
	at org.eclipse.orion.server.useradmin.servlets.UserServlet.createUser(UserServlet.java:112)
	at org.eclipse.orion.server.useradmin.servlets.UserServlet.doPost(UserServlet.java:83)
Comment 4 John Arthorne CLA 2011-01-24 16:41:28 EST
This was blocking me from further testing so I released a password provider that consults a system property.
Comment 5 Marco Descher CLA 2016-03-23 06:17:00 EDT
@John Could you please point to the location? I am currently setting up a server on 64bit linux and face the same problem you seem to have solved!