encryption-pgp: support multiple recipients

This commit is contained in:
Bennett Piater 2018-06-09 16:37:41 +02:00
parent 67f2d01e35
commit c79707e961
No known key found for this signature in database
GPG Key ID: 26C7E577EF967808
2 changed files with 14 additions and 6 deletions

View File

@ -21,8 +21,8 @@ QtObject {
}, },
{ {
"identifier": "publicKey", "identifier": "publicKey",
"name": "Public PGP Key", "name": "Public PGP Keys",
"description": "Please enter your public pgp key:", "description": "Please enter your ';'-separated public pgp keys or their emails:",
"type": "string", "type": "string",
"default": "F5161BD3", "default": "F5161BD3",
}, },
@ -45,9 +45,17 @@ QtObject {
* @return the exncrypted or decrypted text * @return the exncrypted or decrypted text
*/ */
function encryptionHook(text, password, decrypt) { function encryptionHook(text, password, decrypt) {
var encryptCommand = ["--encrypt", "--armor"];
// split public keys for gpg call
var pubKeys = publicKey.split(';');
for (var i = 0; i < pubKeys.length; i++) {
encryptCommand.append("-r");
encryptCommand.append(pubKeys[i]);
}
// encrypt the text for public key or decrypt with gpg // encrypt the text for public key or decrypt with gpg
// decryption will only work if you don't have to enter a password // decryption will only work if you don't have to enter a password
var param = decrypt ? ["--decrypt"] : ["--encrypt", "--armor", "-r", publicKey]; var param = decrypt ? ["--decrypt"] : encryptCommand;
var result = script.startSynchronousProcess(gpgPath, param, text); var result = script.startSynchronousProcess(gpgPath, param, text);
return result; return result;
} }

View File

@ -2,8 +2,8 @@
"name": "PGP Encryption", "name": "PGP Encryption",
"identifier": "encryption-pgp", "identifier": "encryption-pgp",
"script": "encryption-pgp.qml", "script": "encryption-pgp.qml",
"authors": ["@pbek"], "authors": ["@pbek", "@ClawOfLight"],
"version": "0.0.1", "version": "0.0.2",
"minAppVersion": "17.05.7", "minAppVersion": "17.05.7",
"description" : "This script will encrypt and decrypt notes with <a href='https://gnupg.org/'>PGP</a> instead of the internal AES-256 encryption.\nDecryption may only work if you don't have to enter a password." "description" : "This script will encrypt and decrypt notes with <a href='https://gnupg.org/'>PGP</a> instead of the internal AES-256 encryption.\nDecryption may only work if you don't have to enter a password. Find out how to set up gpg-agent on your system."
} }