diff options
| author | Maximilian Krambach <[email protected]> | 2018-05-24 13:16:18 +0000 | 
|---|---|---|
| committer | Maximilian Krambach <[email protected]> | 2018-05-24 13:16:18 +0000 | 
| commit | a4ba80c553c2ac42f9e311344302c04ec9aa715b (patch) | |
| tree | 16dfa85ceb15bc90ce92a30a9ca7ef57cc2a1a8a /lang/js/src/gpgmejs.js | |
| parent | Merge branch 'master' into javascript-binding (diff) | |
| download | gpgme-a4ba80c553c2ac42f9e311344302c04ec9aa715b.tar.gz gpgme-a4ba80c553c2ac42f9e311344302c04ec9aa715b.zip | |
js: adding sign method
--
  * src/gpgmejs.js: method, update in src/permittedOperations
  * basic testing in BrowsertestExtension
Diffstat (limited to '')
| -rw-r--r-- | lang/js/src/gpgmejs.js | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/lang/js/src/gpgmejs.js b/lang/js/src/gpgmejs.js index 3aa5957a..1e76655e 100644 --- a/lang/js/src/gpgmejs.js +++ b/lang/js/src/gpgmejs.js @@ -120,6 +120,44 @@ export class GpgME {      } +    sign(data, keys, mode='clearsign', base64=false) { //sender +        if (data === undefined){ +            return Promise.reject(gpgme_error('MSG_EMPTY')); +        } +        let key_arr = toKeyIdArray(keys); +        if (key_arr.length === 0){ +            return Promise.reject(gpgme_error('MSG_NO_KEYS')); +        } +        let msg = createMessage('sign'); + +        msg.setParameter('keys', key_arr); +        if (base64 === true){ +            msg.setParameter('base64', true); +        } +        msg.setParameter('mode', mode); +        putData(msg, data); +        if (mode === 'detached') { +            msg.expected = 'base64'; +        } +        let me = this; +        return new Promise(function(resolve,reject) { +            me.connection.post(msg).then( function(message) { +                if (mode === 'clearsign'){ +                    resolve({ +                        data: message.data} +                    ); +                } else if (mode === 'detached') { +                    resolve({ +                        data: data, +                        signature: message.data +                    }); +                } +            }, function(error){ +                reject(error); +            }) +        }); +    } +      deleteKey(key, delete_secret = false, no_confirm = false){          return Promise.reject(gpgme_error('NOT_YET_IMPLEMENTED'));          let msg = createMessage('deletekey'); | 
