aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaximilian Krambach <[email protected]>2018-08-20 16:05:34 +0000
committerMaximilian Krambach <[email protected]>2018-08-20 16:05:34 +0000
commitd77a1c887d6a5e892329534c94f95eaf8bb88492 (patch)
tree067daba64065281ace1e69bd450c780ddfd0c3bb
parentjs: set expiry date on generateKey (diff)
downloadgpgme-d77a1c887d6a5e892329534c94f95eaf8bb88492.tar.gz
gpgme-d77a1c887d6a5e892329534c94f95eaf8bb88492.zip
js: add option "subkey-algo" to generateKey
-- * The option was recently added to gpgme-json; this reflects this on javascript side
-rw-r--r--lang/js/src/Keyring.js13
-rw-r--r--lang/js/src/permittedOperations.js3
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'],
}