KDE Utils/ksecretsservice: Difference between revisions
No edit summary |
(https://invent.kde.org/utilities/ksecrets was archived in 2020.) |
||
(9 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Note|https://invent.kde.org/utilities/ksecrets was archived in 2020.}} | ||
[[File:KSecretsService_logo.png|frameless|right|KSecretsService logo]] | |||
'''KSecretsService''' is a secrets (e.g. passwords and other authentication credentials) management infrastructure aiming to replace [[KDE_Utils/kwallet|KWallet]]. | |||
All the source code for this infrastructure can be found on [https://invent.kde.org/utilities/ksecrets KDE Invent]. | |||
== Project Structure == | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |+ style="caption-side: top; vertical-align: bottom; text-align: center; font-size: larger; background: #bdc3c7; color: #31363b;" | KSecretsService | ||
|- | |||
! | ! scope="col" style="min-width: 14em;" | Module | ||
! | ! scope="col" style="min-width: 32em;" | Description | ||
|- | |- | ||
| ksecretsserviced | | style="text-align: center;" | ksecretsserviced | ||
| store the secrets in a secure manner | | style="padding: 0.2em 2em;" | store the secrets in a secure manner | ||
| | |- | ||
|- | | style="text-align: center;" | ksecretsservice | ||
| ksecretsservice | | style="padding: 0.2em 2em;" | Public API to be used by KDE applications | ||
| Public API to be used by KDE applications | |- | ||
| | | style="text-align: center;" | secretsync | ||
|- | | style="padding: 0.2em 2em;" | Tool used to synchronize secrets between several devices | ||
| secretsync | |- | ||
| Tool used to synchronize secrets between several devices | | style="text-align: center;" | kio | ||
| | | style="padding: 0.2em 2em;" | Let users browse secrets using the ksecrets:// protocol | ||
|- | |- | ||
| kio | | style="text-align: center;" | kwl2kss | ||
| Let users browse secrets using the ksecrets:// protocol | | style="padding: 0.2em 2em;" | KWallet to KSecretsService conversion tool | ||
|} | |} | ||
=== Roadmap === | === Roadmap === | ||
{| class="wikitable" style="text-align: center;" | |||
! style="min-width: 24em;" | Task !! style="min-width: 12em;" | Status | |||
|- | |||
| colspan="2" style="background: #2980b9; color: #fff; font-size: 110%; font-weight: 800;" | Daemon (ksecretsserviced) | |||
|- | |||
| ksecrets specific file format storage | |||
| <span class="nowrap" style="display: inline;">[[File:Current_event_clock.svg|18px|link=|alt=Clock face]] '''Done'''</span> | |||
|- | |||
| testing and bugfixing | |||
| <span class="nowrap" style="display: inline;">[[File:Current event clock.svg|18px|link=|alt=Clock face]] '''In progress'''</span> | |||
|- | |||
| colspan="2" style="background: #2980b9; color: #fff; font-size: 110%; font-weight: 800;" | KDE API (ksecretsservice) | |||
|- | |||
| support secret creation and retrieving | |||
| <span class="nowrap" style="display: inline;">[[File:Yes check.svg|18px|link=|alt=]] '''Done'''</span> | |||
|- | |||
| implement signals | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|- | |||
| colspan="2" style="background: #2980b9; color: #fff; font-size: 110%; font-weight: 800;" | Secrets Sync Tool (ksecretssync) | |||
|- | |||
| Implement syncing protocol | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|- | |||
| Add IMAP support | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|- | |||
| Add SFTP support | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|- | |||
| colspan="2" style="background: #2980b9; color: #fff; font-size: 110%; font-weight: 800;" | ksecrets tool | |||
|- | |||
| Specify commands to be added | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|- | |||
| Implement these commands | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|- | |||
| colspan="2" style="background: #2980b9; color: #fff; font-size: 110%; font-weight: 800;" | kio (used to display secrets in e.g. Dolphin) | |||
|- | |||
| Finish it | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|- | |||
| colspan="2" style="background: #2980b9; color: #fff; font-size: 110%; font-weight: 800;" | KWallet conversion tool (kwl2kss) | |||
|- | |||
| More testing | |||
| <span class="nowrap" style="display: inline;">[[File:To do checklist.svg|18px|link=|alt=Checklist document]] '''To Do'''</span> | |||
|} | |||
=== Notes === | === Notes === | ||
Originally this project was started as a means of compliance with an XDG Draft Specification for a 'Secret Storage API' that one can find [https://specifications.freedesktop.org/secret-service/latest/ here (version 0.2, released 2011)]. It calls for a D-Bus daemon providing a means for applications to securely store and retrieve secrets information. Under KDE, this is considered an implementation detail and KDE applications are supposed to use the client API described above. This is of greatest relevance for those users mixing elements of both the KDE and GNOME desktop environments, as the XDG (Cross Desktop Group) specification is also implemented by [https://wiki.gnome.org/Projects/GnomeKeyring GNOME Keyring]. Prevailing wisdom currently holds that those users should make a choice about the actual daemon they want to make use of and then stick with it, as no migration tool exists (yet) from KSecretsService to GNOME Keyring or vice versa. | |||
Originally |
Latest revision as of 02:10, 19 December 2023
KSecretsService is a secrets (e.g. passwords and other authentication credentials) management infrastructure aiming to replace KWallet.
All the source code for this infrastructure can be found on KDE Invent.
Project Structure
Module | Description |
---|---|
ksecretsserviced | store the secrets in a secure manner |
ksecretsservice | Public API to be used by KDE applications |
secretsync | Tool used to synchronize secrets between several devices |
kio | Let users browse secrets using the ksecrets:// protocol |
kwl2kss | KWallet to KSecretsService conversion tool |
Roadmap
Task | Status |
---|---|
Daemon (ksecretsserviced) | |
ksecrets specific file format storage | Done |
testing and bugfixing | In progress |
KDE API (ksecretsservice) | |
support secret creation and retrieving | Done |
implement signals | To Do |
Secrets Sync Tool (ksecretssync) | |
Implement syncing protocol | To Do |
Add IMAP support | To Do |
Add SFTP support | To Do |
ksecrets tool | |
Specify commands to be added | To Do |
Implement these commands | To Do |
kio (used to display secrets in e.g. Dolphin) | |
Finish it | To Do |
KWallet conversion tool (kwl2kss) | |
More testing | To Do |
Notes
Originally this project was started as a means of compliance with an XDG Draft Specification for a 'Secret Storage API' that one can find here (version 0.2, released 2011). It calls for a D-Bus daemon providing a means for applications to securely store and retrieve secrets information. Under KDE, this is considered an implementation detail and KDE applications are supposed to use the client API described above. This is of greatest relevance for those users mixing elements of both the KDE and GNOME desktop environments, as the XDG (Cross Desktop Group) specification is also implemented by GNOME Keyring. Prevailing wisdom currently holds that those users should make a choice about the actual daemon they want to make use of and then stick with it, as no migration tool exists (yet) from KSecretsService to GNOME Keyring or vice versa.