Skip to main content

Using Gnome-keyring with smartcards in Gnome

Gnome includes a advanced password and key manager called Gnome-keyring, which acts as a replacement for ssh-agent.

To use smartcards without problem, you will need at least Gnome 2.6.30 and Gnome-keyring-daemon 2.6.30. Our tests show that Gnome 2.6.28 keyring-manager is not able to load keys from PKCS#11 smartcards.

After starting Gnome 2.6.30, run gconf-editor to enable PKCS11 and ssh agent:

Type gconf-edit and open /apps/gnome-keyring/daemon-components

$ gconf-editor

Make sure that pkcs11 and ssh are enabled.
In our tests, we found that Gnome 2.6.30 needed some additional information on startup.

Exit Gconfig and return to desktop.
In the main menu bar, select System->Preferences->Startup Applications.

Startup applications preferences dialog is displayed:

Although Gnome-Keyring-Daemon is running on startup, you need to inform the daemon to load pkcs#11 and ssh extensions.

Find the Certificate and Key storage icon. Make sure it is enabled:

If you click on Edit, the command should be:

gnome-keyring-daemon --start --components=pkcs11

Find the Gnome SSH agent icon. Make sure it is enabled:

If you click on Edit, the command should be:

gnome-keyring-daemon --start --components=ssh

Now load your public SSH keys from your smartcard:

$ ssh-add -s /usr/lib/opensc-pkcs11.so

On prompt, enter PIN code:

Enter passphrase for PKCS#11: ******
Card added: /usr/lib/opensc-pkcs11.so

You can now list public keys loaded by Gnome-Keyring and ssh-agent:

$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAAADAQA**********XRVVUYDKsndWgP /usr/lib/opensc-pkcs11.so
ssh-rsa AAAAB3NzaC1yc2EAAAADA*********R9EQ7MeKHsfot4xotz6YqE/RPve+1dAvTl /usr/lib/opensc-pkcs11.so

You can now use your smartcard in Gnome.

We did not test sftp attachment in Nautilus 2.6.30, but it should work smoothly with RSA keys on smartcard.