Secret service CL API

Table of Contents

[in package SECRET-SERVICE]

This is a partial interface to the Secret Service API in Common Lisp. Secret service is an API to store keys and passwords in a dedicated service; both Gnome and KDE provide such service (gnome-keyring).

It allows one to offload caring about how to safely store passwords and keys for CL projects to someone else.

Simple usage:

  (find-the-secret '(("machine" "example.com")))

would return password for the secret with parameter machine having provided value, if there is only one, prompting for password if necessary.

(create-item (default-collection) "My shop" nil "password")
=> "/org/freedesktop/secrets/collection/login/148"
=> "/"

would create an item with just a label and a secret and return the path to it; note that there is no property there that can be used to find the item by search, but it shows (e.g., in Seahorse or emacs) properly.

(get-secret-of-item *)
=> "password"

would again reveal the password.

1 Find secrets

2 Manage secrets

3 Collections