This repository contains a simple utility to decode and decrypt the .keystore
-files
used by the gnome-keyring
utility and daemon.
The decrypted keystore's contents are then output in JSON format.
I am really surprised this didn't exist. There is a keyring-dump utility in the
gnome-keyring
-repo, but since the output-format of that utility is not really suitable
for further processing, I decided to create this tool.
This project is built using meson
, so you will need that.
In order to use meson
you will also need a build-backend. I simply use ninja
which is the default.
The provided nix
-flake will yield a dev-environment containing all the necessary
dependencies, so using it is recommended.
Since this project also includes an .envrc
using nix-direnv
for use with the provided flake, I strongly recommend setting up direnv
as well.
Build depencies:
-
docopt.c
: For generating the argument parser in accordance with thedocopt
-specification.Meson needs to be able to find this in your Python's search-path.
To build this project simply follow the usual meson
-procedure:
$ meson setuo build
$ ninja -C build
Afterwards, if everything went well, the executable can be found under build/gnome-keyring-decryptor
.
To use this tool simply call gnome-keyring-decryptor <keyring>
with <keyring>
being the path to the keyring-file on the command line.
The contents of the keyring will then be output on stdout
.
-
The file format is documented in the
gnome-keyring
-repository underdocs/file-format.txt
.A copy of that file can be found in this repository - also under
docs/file-format.txt
- in case the upstream version gets removed or moved in any way. -
This tool is - in general - inspired by/copied from the aforementioned tool in the
gnome-keyring
-repo: dump-keyring0-format.c
gnome-keyring
in general and the dump-utility as well as the file format documentation
specifically are licensed under the GNU General Public License Version 2.
This file is part of gnome-keyring-decryptor
.
gnome-keyring-decryptor
is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
gnome-keyring-decryptor
is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with gnome-keyring-decryptor
.
If not, see https://www.gnu.org/licenses/.
Copyright 2023 Rufus Maurice Schäfing (wirklichniemand, nichtsundniemand)