Added the capability to reset the password manager

Also some documentation about the password manager.
This commit is contained in:
eelke 2022-09-05 07:33:08 +02:00
parent f8528143ac
commit 4fa2189b27
17 changed files with 233 additions and 85 deletions

View file

@ -0,0 +1,7 @@
==================
Connection Manager
==================
.. toctree::
passwordmanager

View file

@ -0,0 +1,35 @@
================
Password manager
================
The connection manager has a build-in password manager which uses encryption
to savely store passwords. If you want to use it is up to you. Check the Save
password checkbox and the password manager will be used to safely store the
password. The first time this happens you will be asked for a password you wish
to use for the password manager. Make sure to remember this password cause there
is no way to recover it if you loose it.
When you try to open a connection for which the password was saved the program
will prompt you for the password managers password. You can choose how long the
program will keep the password manager unlocked. If you cancel this password
prompt the program will prompt you for the password of the database connection.
------------------------------
Resetting the password manager
------------------------------
Unfortunatly at this time there is no way to change the master password.
Neither is it possible to completely reset the password manager other then
removing the `pglabuser.db` file.
--------
Security
--------
To make it hard to brute force decode the saved passwords the passwords are not
simply encrypted with the master password. Instead a keystrengthening algorithm
is applied to your master password combined with a salt. The exact parameters
choosen for keystrengthening depends on the speed of your computer. This
strengthened key will be used only as a basis for encryption. Each password
saved is associated with a random guid, this 128-bit value is combined with
your strengthened key to create the key to save the password.

View file

@ -7,11 +7,13 @@ pgLab User Manual
====================================================
.. toctree::
:maxdepth: 2
:maxdepth: 3
:caption: Contents:
releasenotes
installation
connectionmanager/index
internals
Indices and tables
==================

View file

@ -8,9 +8,11 @@ Currently only binaries for Windows 64-bit are provided.
Windows
-------
Downloads can be found `here <https://eelkeklein.stackstorage.com/s/E9xkMGQDFjHv5XN3>`_.
Downloads can be found `here
<https://eelkeklein.stackstorage.com/s/E9xkMGQDFjHv5XN3>`_.
Unpack the contents of the 7zip archive to a folder of your choosing for instance
`C:\\Program files\\pgLab`. You can run the pgLab.exe from there. If it is complaining
about missing files this is probably because the required Visual C++ Runtime has
not yet been installed on your machine you can get it from `microsoft <https://aka.ms/vs/17/release/vc_redist.x64.exe>`_.
Unpack the contents of the 7zip archive to a folder of your choosing for
instance `C:\\Program files\\pgLab`. You can run the pgLab.exe from there. If
it is complaining about missing files this is probably because the required
Visual C++ Runtime has not yet been installed on your machine you can get it
from `microsoft <https://aka.ms/vs/17/release/vc_redist.x64.exe>`_.

11
docs/internals.rst Normal file
View file

@ -0,0 +1,11 @@
=========
Internals
=========
---------
User data
---------
All connection configuration information is stored in
`%AppData%\pglab\pglab\pglabuser.db` this is an sqlite database.