Building and Using the Secret Service Java API

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

The Secret Service API was jointly designed by the Gnome keyring and the KDE KWallet developers in order to have a standard way for desktop applications to access and manage stored passwords in both Gnome and KDE environments.

In this article I will show you how to generate java code for the Secret Service API and then use it in your Java application.

A Bit of Terminology

If you are a Gnome user, passwords and keys are stored and managed by the GNOME Keyring Manager. The GUI to access passwords is a program called Seahorse.
In gnome-keyring, passwords and keys are stored in keyrings. For example the keyring that contains all passwords and keys that you will be able to use
after logging into your Gnome environment is called ‘login’.

In the KDE environment the application is called KWallet. Passwords and keys are stored in a so-called ‘Folder’.
The Secret Service API is implemented from KDE-4.8 in the KSecretService module used by KWallet.

In the Secret Service API terminology, passwords and keys are called ‘Items’. Keyrings and folders are called ‘Collections’

Mapping between SecretService API and desktop terminology
Secret Service API collection item
Gnome keyring user/password;key
KDE folder user/password;key

Use cases in this article were designed for the Gnome environment. They are of course aimed to work under the KDE 4.8 environment.

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read