34 Commits

Author SHA1 Message Date
Saleem Edah-Tally
be47316219 Expand developer string. 2022-11-19 15:56:56 +01:00
SET
2161e23d91 Prefer setObjectName to setId.
Wt discourages the use of setId().

See Wt commit 9eed80087aab34831932fa5a28751c137971b427.
2021-02-28 19:06:01 +01:00
SET
b761c366f7 Merge branch 'master' into TestExportPrivateKeys 2020-11-24 20:13:23 +01:00
SET
e14a5c19f4 Log GpgME errors.
In file WT_APP_ROOT/gpgme.log.

Independently of usual Wt logging.
2020-11-23 22:02:55 +01:00
SET
c9defdc02a Apply some CSS makeup.
Bad keys, subkeys, identities and signatures are tagged in red.
A secret key not owned by the user is shown in bold.
Application name is bold and bigger.
Popup background color is changed to floralwhite.
2020-11-22 22:36:41 +01:00
SET
e9a55a1f69 Allow changing subkey expiry time.
Needs GPGME 1.15.0.
Using the same UI for changing expiry time of the primary secret key.
2020-11-21 20:59:32 +01:00
SET
82b8810f62 Allow exporting secret keys.
Requests the passphrase with a popup.

As from GPGME 1.15.0, the loopback pinentry is functional when exporting secret keys. It works fine when the exact passphrase is provided. If it's a wrong passphrase, GPGME does not generate an ::Error, but the app crashes with 'free(): double free detected in tcache 2'.

Hence, this patch cannot be committed to master.

Status : dangerous
Result : works and works not
Reason : a wrong passphrase means a crash
2020-11-20 22:41:29 +01:00
SET
bb174075df Allow to add and revoke user identities.
Using a popup with required parameters.
2020-11-19 19:16:17 +01:00
SET
4aa4ec9bf3 Hide export button with successful key search.
No key is selected after this.
2020-11-16 14:44:14 +01:00
SET
3ac566fbfe Format uid string correctly when creating keys.
Correct format :
	name <email> (comment)
Was :
	name <email> comment

Though the 'comment' part was visible with the cli gpg app, it was not
shown in kleopatra and in K7.
2020-11-16 14:39:57 +01:00
SET
e312ac1efd Allow exporting public keys.
Secret keys cannot be exported because the loopback pinentry mechanism
fails to work.
2020-11-15 20:32:12 +01:00
SET
9ae83ed7bd Prefer fingerprint for key anchor id.
Short key id should be reserved for UI.
2020-11-15 12:17:57 +01:00
SET
5e7df13df0 Show subkey and certification algorithms.
Subkey algorithms are shown in a new table column.
Uid signature algorithms are shown in the tooltip text.
2020-11-14 15:03:36 +01:00
SET
a721bb0225 Use common code formatting style. 2020-11-14 14:46:28 +01:00
SET
6ac7ea7c0f Reorganize code.
Move KeyEdit::IsOurKey to Tools::IsOurKey.
2020-11-14 11:25:00 +01:00
SET
bb4df1423a Move all keyring management functions to a separate class.
KeyringIO imports, creates and deletes keys. Everything is declared
private in this class, and it can be called by K7Main only.
2020-11-14 10:58:45 +01:00
SET
2b6c0960be Improve changing certification trust level.
The editing combobox should be available only for
	- all keys that do not have an associated secret key
	- the secret keys managed by the user.
2020-11-13 22:40:53 +01:00
SET
8b789b09ca Rename upload and delete classes and variables to be more meaningful.
Uploader:: -> PopupUpload
Deleter:: -> PopupDelete
K7Main::m_uploader -> K7Main::m_popupUpload
K7Main::m_deleter -> K7Main::m_popupDelete
2020-11-13 18:53:08 +01:00
SET
1b73407db2 Allow to create keys.
A popup shows required parameters. Created keys are added to the list of
secret keys managed by the user.
2020-11-13 18:37:37 +01:00
SET
10f2a659bf Do update ownership of secret keys.
After importing or deleting secret keys.
2020-11-11 21:37:31 +01:00
SET
4f8ea18a66 Use fingerprint instead of keyid when importing and deleting keys. 2020-11-11 21:09:43 +01:00
SET
2bddf29596 Allow to change key expiry date.
Select new date in a popup. Controlled by a specific configuration flag.
2020-11-07 22:25:07 +01:00
SET
ffd9692504 List key certifications
Set context KeyListMode to ::Signatures | ::Validate.
List certification on public key only.
2020-11-07 12:21:49 +01:00
SET
c8b2f81bf8 Optimize certification trust level management.
A private key should be editable to Unknown or Ultimate levels only.
A public key should be editable to all levels except Ultimate.
Undefined level is excluded for both public and private keys.

The public WTreeTableNode may list private keys if the user does not manage
these private keys. Inform of this state in the tool tip. The certification
trust level is excluded for any change.
2020-11-06 21:42:50 +01:00
SET
ea720f2cab Show status info for key, uid and signature, in tooltips.
Status like IsExpired, IsInvalid ...
2020-11-04 21:45:48 +01:00
SET
54fa245fa8 Allow certification trust level to be editable for any key.
Imported primary keys also have unknown trust level, when they have
been generated in other keyrings.

Later, we should decide whether to exclude any primary key with ultimate
trust level from any further change.
2020-11-04 21:00:03 +01:00
SET
f5416addc0 Create and use a sensitive WText in some tree table nodes.
It may be of interest to copy WTreeTableNode items text content. These
cannot be selected with the mouse for copy to clipboard. The text is
here shown read-only in an extended auto-replaced WLineEdit.
2020-11-04 09:06:48 +01:00
SET
0bb61b7119 Use CSS style sheet.
Avoid confusing text behind default transparent popup.
2020-11-03 14:15:11 +01:00
SET
7f8af95d3a Certify key.
In-place editing with a popup if user is allowed in app config file.
User must of course manage at least a private key. User identities of
target key may be selectively chosen. Optionally, certification may be
exportable and non-revocable.
2020-11-03 11:06:25 +01:00
SET
e434315940 Edit owner trust level.
Inplace editing with a combobox if user is allowed. in app config file.
2020-10-25 17:28:47 +01:00
SET
ca2105733b Show certification trust level when listing keys. 2020-10-21 17:27:40 +02:00
SET
b1ab6ba97d Fix typo 2020-06-05 20:35:11 +02:00
SET
c9f56cc7eb Hide delete button when findind keys. 2019-10-28 11:50:19 +01:00
SET
47e78be7e9 Initial commit 2019-10-25 20:16:43 +02:00