js: add option "subkey-algo" to generateKey

--

* The option was recently added to gpgme-json; this reflects this on
  javascript side
This commit is contained in:
Maximilian Krambach 2018-08-20 18:05:34 +02:00
parent 91c2362550
commit d77a1c887d
2 changed files with 14 additions and 2 deletions

View File

@ -366,14 +366,16 @@ export class GPGME_Keyring {
* @param {String} userId The user Id, e.g. 'Foo Bar <foo@bar.baz>'
* @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',

View File

@ -331,6 +331,9 @@ export const permittedOperations = {
algo: {
allowed: ['string']
},
'subkey-algo': {
allowed: ['string']
},
expires: {
allowed: ['number'],
}