keepassxc/src/fdosecrets
2020-05-27 22:07:25 -04:00
..
objects Add an option to EntrySearcher to skip protected attributes 2020-05-27 22:07:25 -04:00
widgets FdoSecrets: add unit tests 2020-05-27 22:07:25 -04:00
CMakeLists.txt FdoSecrets: UI improvements 2019-12-27 18:47:24 -05:00
DatabaseSettingsPageFdoSecrets.cpp Bundle icons using the Qt resource system. 2020-03-14 10:13:12 -04:00
DatabaseSettingsPageFdoSecrets.h Add Freedesktop.org Secret Storage Spec Server Side API (Fix #1403) 2019-05-12 12:35:42 -04:00
FdoSecretsPlugin.cpp FdoSecrets: add unit tests 2020-05-27 22:07:25 -04:00
FdoSecretsPlugin.h Bundle icons using the Qt resource system. 2020-03-14 10:13:12 -04:00
FdoSecretsSettings.cpp Refactor Config. 2020-05-02 22:30:27 +02:00
FdoSecretsSettings.h Add Freedesktop.org Secret Storage Spec Server Side API (Fix #1403) 2019-05-12 12:35:42 -04:00
GcryptMPI.cpp Add Freedesktop.org Secret Storage Spec Server Side API (Fix #1403) 2019-05-12 12:35:42 -04:00
GcryptMPI.h Add Freedesktop.org Secret Storage Spec Server Side API (Fix #1403) 2019-05-12 12:35:42 -04:00
README.md Fix typos in various .md files 2019-11-23 09:56:59 -05:00

Freedesktop.org Secret Storage Spec Server Side API

This plugin implements the Secret Storage specification version 0.2. While running KeePassXC, it acts as a Secret Service server, registered on DBus, so clients like seahorse, python-secretstorage, or other implementations can connect and access the exposed database in KeePassXC.

Configurable settings

  • The user can specify if a database is exposed on DBus, and which group is exposed.
  • Whether to show desktop notification is shown when an entry is retrieved.
  • Whether to skip confirmation for entries deleted from DBus

Implemented Attributes on Item Object

The following attributes are exposed:

Key Value
Title The entry title
UserName The entry user name
URL The entry URL
Notes The entry notes

In addition, all non-protected custom attributes are also exposed.

Architecture

  • FdoSecrets::Service is the top level DBus service
  • There is one and only one FdoSecrets::Collection per opened database tab
  • Each entry under the exposed database group has a corresponding FdoSecrets::Item DBus object.

Signal connections

  • Collections are created when a corresponding database tab opened
  • If the database is locked, a collection is created
  • When the database is unlocked, collection populates its children
  • If the unlocked database's exposed group is none, collection deletes itself
  • If the database's exposed group changes, collection repopulates
  • If the database's exposed group changes to none, collection deletes itself
  • If the database's exposed group changes from none, the service recreates a collection