Community
Participate
Working Groups
###############################################################################
fragmentName = OS X Keystore service integration
providerName = Eclipse.org
moduleName = Password provider backed by the OS X Keystore
macModuleName = OS X Keystore Integration
<fragment>
<extension
id="OSXKeystoreIntegration"
name="%moduleName"
name="%macModuleName"
point="org.eclipse.equinox.security.secureStorage">
<provider
class="org.eclipse.equinox.internal.security.osx.OSXProvider"
<!-- The default UI password provider -->
id="DefaultPasswordProvider"
name="%uiPasswordProviderName"
class="org.eclipse.equinox.internal.security.ui.storage.DefaultPasswordProvider"
certificateFile = Certificate File
certificateFileDescription = Import certificates into the platform.
storage = Secure Storage
uiPasswordProviderName = UI Prompt
for (Iterator i = availableModules.iterator(); i.hasNext();) {
PasswordProviderDescription module = (PasswordProviderDescription) i.next();
TableItem item = new TableItem(providerTable, SWT.LEFT);
item.setText(new String[] {null, Integer.toString(module.getPriority()), module.getId()});
item.setText(new String[] {null, Integer.toString(module.getPriority()), module.getName()});
item.setData(module.getId());
if (disabledModules == null)
item.setChecked(true);
providersTable = Providers:
enabledColumn = Enabled
priorityColumn = Priority
idColumn = ID
idColumn = Description
descriptionColumn = Description
defaultGroup = Default secure preferences
confirmDeleteMsg = This action will delete default secure storage. All data in it will be lost. Are you sure you want to delete it?
List result = new ArrayList(availableModules.size());
ExtStorageModule module = (ExtStorageModule) i.next();
result.add(new PasswordProviderDescription(module.moduleID, module.priority));
result.add(new PasswordProviderDescription(module.name, module.moduleID, module.priority));
}
return result;
private int priority;
private String id;
private String name;
public PasswordProviderDescription(String id, int priority) {
public PasswordProviderDescription(String name, String id, int priority) {
this.id = id;
this.name = name;
this.priority = priority;
public String getId() {
return id;
public String getName() {
if (name == null || name.length() == 0)
return name;
public String moduleID;
public IConfigurationElement element;
public int priority;
public String name;
public ExtStorageModule(String id, IConfigurationElement element, int priority) {
public ExtStorageModule(String id, IConfigurationElement element, int priority, String name) {
super();
this.element = element;
this.moduleID = id;
if (priority > 10)
priority = 10;
allAvailableModules.add(new ExtStorageModule(moduleID, element, priority));
String name = extensions[i].getLabel();
allAvailableModules.add(new ExtStorageModule(moduleID, element, priority, name));
Collections.sort(allAvailableModules, new Comparator() {
id="WindowsPasswordProvider"
name="%windowsModuleName"
class="org.eclipse.equinox.internal.security.win32.WinCrypto"
fragmentName = Windows Data Protection services integration
moduleName = Password provider backed by the Windows Data Protection API (DPAPI)
windowsModuleName = Windows Integration