[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ecf-dev] ID and IContainer secure persistence
|
Hi Folks,
Over the past few weeks I've been experimenting with the new-in-3.4
Equinox secure storage to store Namespaces/ID instance. I've created a
new API plugin: org.eclipse.ecf.storage and a new test plugin:
org.eclipse.ecf.tests.storage. See attached project set file for
anonymous access (just change pserver to extssh for committer access).
The main initial use case for this would be the ability to
store/retrieve remote container IDs as well as associated
IConnectContext credentials (e.g. passwords, etc). So that things like
automatic connect (e.g. upon Eclipse startup) can be securely implemented.
The main concepts for ID storage and retrieval:
ID storage:
1) Get an IDStore (published as an OSGi service)
2) Call IDStore.store(ID) to store the ID instance.
2a) opt: Use the IDEntry instance returned from 2 to securely store
data (e.g. passwords, user data, other credentials, etc) associated with
ID instance
Retrieval:
1) Call IDStore.getNamespaceEntry(Namespace) for the desired Namespace
2) Call INamespaceEntry.getIDEntries()
2a) opt: Use IDEntry.getSecurePreferences() to retrieve data associated
via 2a above
3) Call IDEntry.createID()
The value returned from IDEntry.createID() will be equals() to the ID
originally stored
Any comments/review of the API and tests would be most appreciated.
I've started writing up things in the wiki here:
http://wiki.eclipse.org/Storage/Retrieval_of_IDs%2C_IContainers_using_Equinox_Secure_Preferences
Also see/run the test cases in the org.eclipse.ecf.tests.storage.
If we can get it in decent shape in time, for ECF 2.1 I've been thinking
that it might make sense to add this package (org.eclipse.ecf.storage)
to the ecf core plugin. Of course, this requires/depends upon equinox
3.4, so this would mean that these services in core ECF 2.1 could only
run on 3.4...but this may be/probably would be OK.
Any thoughts/comments appreciated.
Scott
<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
<provider id="org.eclipse.team.cvs.core.cvsnature">
<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.storage,org.eclipse.ecf.storage"/>
<project reference="1.0,:pserver:dev.eclipse.org:/cvsroot/technology,org.eclipse.ecf/tests/org.eclipse.ecf.tests.storage,org.eclipse.ecf.tests.storage"/>
</provider>
</psf>