Giter Site home page Giter Site logo

mic92 / mozilla-gnome-keyring Goto Github PK

View Code? Open in Web Editor NEW

This project forked from infinity0/mozilla-gnome-keyring-legacy

2.0 2.0 0.0 8.13 MB

A firefox extension that enables Gnome Keyring integration

Home Page: https://bugzilla.mozilla.org/show_bug.cgi?id=309807

License: Other

mozilla-gnome-keyring's Introduction

A mozilla extension to store passwords and form logins in gnome-keyring

This replaces the default password manager in Firefox and Thunderbird
with an implementation which uses Gnome Keyring. This is a centralised
system-based password manager, which is more simple to handle than
per-application management.

You can find more technical information on bugzilla[1] or on the github
project pages[2].

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=309807
[2] https://github.com/infinity0/mozilla-gnome-keyring

## Usage

You can change the keyring in which passwords are saved by creating or
editing the preference item "extensions.gnome-keyring.keyringName". The
default keyring is "mozilla". This is a per-profile setting, so if you
don't manually change it, all profiles will share the same keyring.

You can backup your passwords easily, separately from the rest of your
mozilla profile. Your keyrings are stored ~/.gnome2/keyrings - even
gnome-keyring 3.2 does this, although this may change in the future.

You can also take advantage of the more fine-tuned keyring management
features of gnome-keyring, such as:

- no need to prompt for password, if you store in the "login" keyring
  and the password for that keyring is the same as your login password.
- if the keyring is already open, don't need to prompt for a password
  each time you start Firefox or Thunderbird.
- you can explicitly re-lock the keyring when you feel you need to.
- in gnome-keyring 3, you can set policies to automatically re-lock the
  keyring after e.g. a certain amount of time, or a certain amount of
  time being idle.
- in gnome-keyring 3, the keyring password prompt disables keyboard
  input to other windows, so you don't need to worry about accidentally
  typing it somewhere you shouldn't

Note: gnome-keyring stores the passwords encrypted on permanent storage
but it keeps unlocked passwords in memory without encryption. As a
result, programs with access to the memory space of gnome-keyring (such
as debuggers and applications running as root) may be able to extract
the passwords. The same applies to the default Firefox and Thunderbird
implementations, so this extension should not be any less secure.

## Migrating old passwords

Currently there is no migration facility. If you have many passwords in
the default password manager, you'll need to manually transfer them
to gnome-keyring:

* create a TEMP profile, and install/enable this extension in it
* in the TEMP profile, edit extensions.gnome-keyring.keyringName to
  whatever you eventually want to use
* restart the TEMP profile for setting changes to take effect
* open up the SUBJ profile using "firefox -no-remote -P <SUBJ name>"
  so that you have *both* profiles open
* open up the password manager on the SUBJ profile
* for each website list, visit it in the TEMP profile and login again,
  which should trigger the "save password" prompt
  * In the password manager for Firefox 7+ you can right-click and do
    "copy password", which makes this a little easier. For earlier
    versions, you'll need to manually type the password. Sorry.
* close the TEMP profile and delete it.
* in the SUBJ profile, install/enable this extension, and edit
  extensions.gnome-keyring.keyringName to whatever you chose before
* restart the SUBJ profile for setting changes to take effect

Your old data in the default password manager remains untouched, so you
also need to delete that manually if you want to. This is done by going
to your profile folder, and deleting the key3.db and signons.sqlite
files (signons.txt/signons2.txt for older versions). The old data may
still be forensically retrievable from your disk, but it was encrypted
anyway so it shouldn't matter too much.

Deleting old data will also clear the master password for the default
password manager. If you don't clear it, you'll still be asked for it
when you choose to "show passwords", even if this extension is active.

## Developer information

Build dependencies:
* libgnome-keyring-devel (may be called libgnome-keyring-dev)
* xulrunner-devel (may be called xulrunner-dev)

Tested on:
- Debian wheezy/sid:
  - Iceweasel 7.0.1, 8.0, 9.0.1, 10.0 - by infinity0
  - Icedove 9.0.1 - by infinity0
  - Gnome Keyring 2.32, 3.2.2 - by infinity0
- Ubuntu 10.04 with Firefox 3.6.7 by <[email protected]>
- Ubuntu 10.10 with Firefox 3.6.12 and Thunderbird 3.1.6 (see bugs)
- Gentoo Linux with Firefox 3.6.12 and Thunderbird 3.1.6
- Arch Linux

Known Bugs:
- Problems on Ubuntu 8.10 with Thunderbird 3.1.6:
    It is necessary to copy libxul.so and libxpcom.so from
    /usr/lib/xulrunner-*/ into /usr/lib/thunderbird-*/ folder.
    See issue #4. I'd be thankful for any hints why this problem exists,
    and its status on different distributions.
    - There is no problem on gentoo.

--
#4: https://github.com/mdlavin/firefox-gnome-keyring/issues/#issue/4

mozilla-gnome-keyring's People

Contributors

fat-lobyte avatar lultimouomo avatar matthijskooijman avatar mdlavin avatar mic92 avatar mikkorantalainen avatar nougad avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.