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
This commit is contained in:
SET
2020-11-20 22:41:29 +01:00
parent bb174075df
commit 82b8810f62
15 changed files with 241 additions and 142 deletions

View File

@@ -131,7 +131,9 @@
<message id='CreateSuccess'>Create success : </message>
<message id='Export'>Export</message>
<message id='TTTExport'>Exporting secret keys is technically impossible</message>
<message id='PreExportSecretKey'>Prepare download link</message>
<message id='ExportSecretKey'>Export secret key</message>
<message id='TTTExportSecretKey'>Requires GPGME >= 1.15.0</message>
<message id='AddUid'>Add an identity</message>
<message id='RevokeUid'>Revoke identity</message>

View File

@@ -131,7 +131,9 @@
<message id='CreateSuccess'>Création réussie : </message>
<message id='Export'>Exporter</message>
<message id='TTTExport'>L'export des clés secrètes est techniquement impossible</message>
<message id='PreExportSecretKey'>Préparer le téléchargement</message>
<message id='ExportSecretKey'>Exporter la secrète</message>
<message id='TTTExportSecretKey'>Requiert GPGME >= 1.15.0</message>
<message id='AddUid'>Ajouter une identité</message>
<message id='RevokeUid'>Revoquer une identité</message>