diff options
Diffstat (limited to '')
| -rw-r--r-- | lang/js/src/Keyring.js | 13 | ||||
| -rw-r--r-- | lang/js/src/permittedOperations.js | 3 | 
2 files changed, 14 insertions, 2 deletions
| diff --git a/lang/js/src/Keyring.js b/lang/js/src/Keyring.js index 7d9b370a..81a047ca 100644 --- a/lang/js/src/Keyring.js +++ b/lang/js/src/Keyring.js @@ -366,14 +366,16 @@ export class GPGME_Keyring {       * @param {String} userId The user Id, e.g. 'Foo Bar <[email protected]>'       * @param {String} algo (optional) algorithm (and optionally key size)       * to be used. See {@link supportedKeyAlgos} below for supported -     * values. +     * values. If ommitted, 'default' is used.       * @param {Date} expires (optional) Expiration date. If not set,       * expiration will be set to 'never' +     * @param {String} subkey_algo (optional) algorithm of the encryption +     * subkey. If ommited the same as algo is used.       *       * @return {Promise<Key|GPGME_Error>}       * @async       */ -    generateKey (userId, algo = 'default', expires){ +    generateKey (userId, algo = 'default', expires, subkey_algo){          if (              typeof (userId) !== 'string' ||              // eslint-disable-next-line no-use-before-define @@ -382,11 +384,18 @@ export class GPGME_Keyring {          ){              return Promise.reject(gpgme_error('PARAM_WRONG'));          } +        // eslint-disable-next-line no-use-before-define +        if (subkey_algo && supportedKeyAlgos.indexOf(subkey_algo) < 0 ){ +            return Promise.reject(gpgme_error('PARAM_WRONG')); +        }          let me = this;          return new Promise(function (resolve, reject){              let msg = createMessage('createkey');              msg.setParameter('userid', userId);              msg.setParameter('algo', algo ); +            if (subkey_algo) { +                msg.setParameter('subkey-algo', subkey_algo ); +            }              if (expires){                  const now = new Date();                  msg.setParameter('expires', diff --git a/lang/js/src/permittedOperations.js b/lang/js/src/permittedOperations.js index 48ff7fa7..3142725c 100644 --- a/lang/js/src/permittedOperations.js +++ b/lang/js/src/permittedOperations.js @@ -331,6 +331,9 @@ export const permittedOperations = {              algo: {                  allowed: ['string']              }, +            'subkey-algo': { +                allowed: ['string'] +            },              expires: {                  allowed: ['number'],              } | 
