gnome-keyring-decryptor

gnome-keyring-decryptor

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.

Building & Hacking

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 the docopt-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 setup build
$ ninja -C build

Afterwards, if everything went well, the executable can be found under build/gnome-keyring-decryptor.

Usage

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.

References

  • The file format is documented in the gnome-keyring-repository under
    docs/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.

License

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)

Visit original content creator repository
https://github.com/nichtsundniemand/gnome-keyring-decryptor

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *