@webex/internal-plugin-encryption 3.10.0-next.3 → 3.10.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.js.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/encryption.js +1 -1
- package/dist/encryption.js.map +1 -1
- package/dist/ensure-buffer.browser.js.map +1 -1
- package/dist/ensure-buffer.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kms-batcher.js.map +1 -1
- package/dist/kms-certificate-validation.js +9 -10
- package/dist/kms-certificate-validation.js.map +1 -1
- package/dist/kms-dry-error-interceptor.js +6 -8
- package/dist/kms-dry-error-interceptor.js.map +1 -1
- package/dist/kms-errors.js +13 -19
- package/dist/kms-errors.js.map +1 -1
- package/dist/kms.js +95 -96
- package/dist/kms.js.map +1 -1
- package/package.json +4 -4
package/dist/kms-errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_common","require","_webexCore","_constants","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","KmsError","exports","_Exception","_inherits2","_super","_classCallCheck2","_createClass2","key","value","parse","body","_defineProperties","enumerable","reason","requestId","status","message","defaultMessage","concat","statusCode","errorCode","Exception","_defineProperty2","KmsTimeoutError","_KmsError","_super2","_ref","length","undefined","_ref$request","request","timeout","method","uri","DryError","_WebexHttpError","_super3","_apply","WebexHttpError","_res","options","url","service","toUpperCase","resource","headers","trackingid","handleKmsKeyRevokedEncryptionFailure","item","webex","KMS_KEY_REVOKE_ERROR_STATUS","KMS_KEY_REVOKE_ERROR_CODES","includes","internal","encryption","trigger","KMS_KEY_REVOKE_FAILURE"],"sources":["kms-errors.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Exception} from '@webex/common';\nimport {WebexHttpError} from '@webex/webex-core';\n\nimport {\n KMS_KEY_REVOKE_ERROR_CODES,\n KMS_KEY_REVOKE_FAILURE,\n KMS_KEY_REVOKE_ERROR_STATUS,\n} from './constants';\n\n/**\n * Error class for KMS errors\n */\nexport class KmsError extends Exception {\n static defaultMessage =\n 'An unknown error occurred while communicating with the kms. This implies we received an error response without a body.';\n\n /**\n * @param {HttpResponse} body\n * @returns {string}\n */\n parse(body) {\n body = body.body || body;\n\n Object.defineProperties(this, {\n body: {\n enumerable: false,\n value: body,\n },\n reason: {\n enumerable: false,\n value: body.reason,\n },\n requestId: {\n enumerable: false,\n value: body.requestId,\n },\n status: {\n enumerable: false,\n value: body.status,\n },\n });\n\n let message = typeof body === 'string' ? body : body.reason;\n\n if (!message) {\n message = this.constructor.defaultMessage;\n }\n if (body.status) {\n message += `\\nKMS_RESPONSE_STATUS: ${body.status}`;\n }\n if (body.requestId) {\n message += `\\nKMS_REQUEST_ID: ${body.requestId}`;\n }\n\n if (body.statusCode) {\n message += `\\nKMS_STATUS_CODE: ${body.statusCode}`;\n }\n\n if (body.errorCode) {\n message += `\\nKMS_ErrorCode: ${body.errorCode}`;\n }\n\n return message;\n }\n}\n\n/**\n * Thrown when an expected KMSResponse is not received in a timely manner\n */\nexport class KmsTimeoutError extends KmsError {\n /**\n * @param {KmsRequest} options.request\n * @param {KmsRequest} options.timeout\n * @returns {string}\n */\n parse({request = {}, timeout} = {}) {\n let message = `The KMS did not respond within ${\n timeout ? `${timeout} milliseconds` : 'a timely fashion'\n }`;\n\n if (request) {\n if (request.method && request.uri) {\n message += `\\nKMS_REQUEST: ${request.method} ${request.uri}`;\n }\n\n if (request.requestId) {\n message += `\\nKMS_REQUEST_ID: ${request.requestId}`;\n }\n }\n\n return message;\n }\n}\n\n/**\n * Emitted when a REST request includes an encrypter error\n */\nexport class DryError extends WebexHttpError {\n static defaultMessage = 'An unknown error was received from a service that proxies to the KMS';\n\n /**\n * @param {WebexHttpError} reason\n * @returns {string}\n */\n parse(reason) {\n Reflect.apply(WebexHttpError.prototype.parse, this, [reason._res]);\n const body = reason._res.body.message;\n\n let message = body.reason || body;\n\n if (!message) {\n message = this.constructor.defaultMessage;\n }\n if (this.options.url) {\n message += `\\n${this.options.method} ${this.options.url}`;\n } else if (this.options.uri) {\n message += `\\n${this.options.method} ${this.options.uri}`;\n } else {\n message += `\\n${this.options.method} ${this.options.service.toUpperCase()}/${\n this.options.resource\n }`;\n }\n message += `\\nWEBEX_TRACKING_ID: ${this.options.headers.trackingid}`;\n\n if (body.status) {\n message += `\\nKMS_RESPONSE_STATUS: ${body.status}`;\n }\n if (body.requestId) {\n message += `\\nKMS_REQUEST_ID: ${body.requestId}`;\n }\n\n Object.defineProperties(this, {\n reason: {\n enumerable: false,\n value: body.reason,\n },\n requestId: {\n enumerable: false,\n value: body.requestId,\n },\n status: {\n enumerable: false,\n value: body.status,\n },\n });\n\n return message;\n }\n}\n\n/**\n * Function triggers an event when specific encryption failures are received.\n */\n\n// eslint-disable-next-line consistent-return\nexport const handleKmsKeyRevokedEncryptionFailure = (item, webex) => {\n if (\n item.status === KMS_KEY_REVOKE_ERROR_STATUS &&\n KMS_KEY_REVOKE_ERROR_CODES.includes(item.body.errorCode)\n ) {\n webex.internal.encryption.trigger(KMS_KEY_REVOKE_FAILURE);\n }\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_common","require","_webexCore","_constants","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","KmsError","exports","_Exception","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","parse","body","_defineProperties","enumerable","reason","requestId","status","message","defaultMessage","concat","statusCode","errorCode","Exception","_defineProperty2","KmsTimeoutError","_KmsError2","_ref","length","undefined","_ref$request","request","timeout","method","uri","DryError","_WebexHttpError","_apply","WebexHttpError","_res","options","url","service","toUpperCase","resource","headers","trackingid","handleKmsKeyRevokedEncryptionFailure","item","webex","KMS_KEY_REVOKE_ERROR_STATUS","KMS_KEY_REVOKE_ERROR_CODES","includes","internal","encryption","trigger","KMS_KEY_REVOKE_FAILURE"],"sources":["kms-errors.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Exception} from '@webex/common';\nimport {WebexHttpError} from '@webex/webex-core';\n\nimport {\n KMS_KEY_REVOKE_ERROR_CODES,\n KMS_KEY_REVOKE_FAILURE,\n KMS_KEY_REVOKE_ERROR_STATUS,\n} from './constants';\n\n/**\n * Error class for KMS errors\n */\nexport class KmsError extends Exception {\n static defaultMessage =\n 'An unknown error occurred while communicating with the kms. This implies we received an error response without a body.';\n\n /**\n * @param {HttpResponse} body\n * @returns {string}\n */\n parse(body) {\n body = body.body || body;\n\n Object.defineProperties(this, {\n body: {\n enumerable: false,\n value: body,\n },\n reason: {\n enumerable: false,\n value: body.reason,\n },\n requestId: {\n enumerable: false,\n value: body.requestId,\n },\n status: {\n enumerable: false,\n value: body.status,\n },\n });\n\n let message = typeof body === 'string' ? body : body.reason;\n\n if (!message) {\n message = this.constructor.defaultMessage;\n }\n if (body.status) {\n message += `\\nKMS_RESPONSE_STATUS: ${body.status}`;\n }\n if (body.requestId) {\n message += `\\nKMS_REQUEST_ID: ${body.requestId}`;\n }\n\n if (body.statusCode) {\n message += `\\nKMS_STATUS_CODE: ${body.statusCode}`;\n }\n\n if (body.errorCode) {\n message += `\\nKMS_ErrorCode: ${body.errorCode}`;\n }\n\n return message;\n }\n}\n\n/**\n * Thrown when an expected KMSResponse is not received in a timely manner\n */\nexport class KmsTimeoutError extends KmsError {\n /**\n * @param {KmsRequest} options.request\n * @param {KmsRequest} options.timeout\n * @returns {string}\n */\n parse({request = {}, timeout} = {}) {\n let message = `The KMS did not respond within ${\n timeout ? `${timeout} milliseconds` : 'a timely fashion'\n }`;\n\n if (request) {\n if (request.method && request.uri) {\n message += `\\nKMS_REQUEST: ${request.method} ${request.uri}`;\n }\n\n if (request.requestId) {\n message += `\\nKMS_REQUEST_ID: ${request.requestId}`;\n }\n }\n\n return message;\n }\n}\n\n/**\n * Emitted when a REST request includes an encrypter error\n */\nexport class DryError extends WebexHttpError {\n static defaultMessage = 'An unknown error was received from a service that proxies to the KMS';\n\n /**\n * @param {WebexHttpError} reason\n * @returns {string}\n */\n parse(reason) {\n Reflect.apply(WebexHttpError.prototype.parse, this, [reason._res]);\n const body = reason._res.body.message;\n\n let message = body.reason || body;\n\n if (!message) {\n message = this.constructor.defaultMessage;\n }\n if (this.options.url) {\n message += `\\n${this.options.method} ${this.options.url}`;\n } else if (this.options.uri) {\n message += `\\n${this.options.method} ${this.options.uri}`;\n } else {\n message += `\\n${this.options.method} ${this.options.service.toUpperCase()}/${\n this.options.resource\n }`;\n }\n message += `\\nWEBEX_TRACKING_ID: ${this.options.headers.trackingid}`;\n\n if (body.status) {\n message += `\\nKMS_RESPONSE_STATUS: ${body.status}`;\n }\n if (body.requestId) {\n message += `\\nKMS_REQUEST_ID: ${body.requestId}`;\n }\n\n Object.defineProperties(this, {\n reason: {\n enumerable: false,\n value: body.reason,\n },\n requestId: {\n enumerable: false,\n value: body.requestId,\n },\n status: {\n enumerable: false,\n value: body.status,\n },\n });\n\n return message;\n }\n}\n\n/**\n * Function triggers an event when specific encryption failures are received.\n */\n\n// eslint-disable-next-line consistent-return\nexport const handleKmsKeyRevokedEncryptionFailure = (item, webex) => {\n if (\n item.status === KMS_KEY_REVOKE_ERROR_STATUS &&\n KMS_KEY_REVOKE_ERROR_CODES.includes(item.body.errorCode)\n ) {\n webex.internal.encryption.trigger(KMS_KEY_REVOKE_FAILURE);\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
package/dist/kms.js
CHANGED
|
@@ -32,8 +32,7 @@ var _dec, _obj;
|
|
|
32
32
|
/*!
|
|
33
33
|
* Copyright (c) 2015-2024 Cisco Systems, Inc. See LICENSE file.
|
|
34
34
|
*/
|
|
35
|
-
function
|
|
36
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor2; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor2(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
35
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap2) var r = new _WeakMap2(), n = new _WeakMap2(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor2(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
37
36
|
var contexts = new _weakMap.default();
|
|
38
37
|
var kmsDetails = new _weakMap.default();
|
|
39
38
|
var partialContexts = new _weakMap.default();
|
|
@@ -48,7 +47,7 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
48
47
|
onBehalfOf = _ref.onBehalfOf;
|
|
49
48
|
return "".concat(uri, "/").concat(onBehalfOf);
|
|
50
49
|
}
|
|
51
|
-
}),
|
|
50
|
+
}), _obj = {
|
|
52
51
|
namespace: 'Encryption',
|
|
53
52
|
children: {
|
|
54
53
|
batcher: _kmsBatcher.default
|
|
@@ -334,11 +333,11 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
334
333
|
* @param {boolean} options.awsKms enable amazon aws keys
|
|
335
334
|
* @returns {Promise.<ActivateCmkResponse>} response of list CMKs api
|
|
336
335
|
*/
|
|
337
|
-
listAllCustomerMasterKey: function listAllCustomerMasterKey(
|
|
336
|
+
listAllCustomerMasterKey: function listAllCustomerMasterKey(_ref0) {
|
|
338
337
|
var _this9 = this;
|
|
339
|
-
var assignedOrgId =
|
|
340
|
-
|
|
341
|
-
awsKms =
|
|
338
|
+
var assignedOrgId = _ref0.assignedOrgId,
|
|
339
|
+
_ref0$awsKms = _ref0.awsKms,
|
|
340
|
+
awsKms = _ref0$awsKms === void 0 ? false : _ref0$awsKms;
|
|
342
341
|
this.logger.info('kms: get all customer master keys for byok');
|
|
343
342
|
return this.request({
|
|
344
343
|
method: 'retrieve',
|
|
@@ -377,11 +376,11 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
377
376
|
* @param {UUID} options.assignedOrgId the orgId
|
|
378
377
|
* @returns {Promise.<ActivateCmkResponse>} response of list CMKs api
|
|
379
378
|
*/
|
|
380
|
-
changeCustomerMasterKeyState: function changeCustomerMasterKeyState(
|
|
381
|
-
var
|
|
382
|
-
var keyId =
|
|
383
|
-
keyState =
|
|
384
|
-
assignedOrgId =
|
|
379
|
+
changeCustomerMasterKeyState: function changeCustomerMasterKeyState(_ref1) {
|
|
380
|
+
var _this0 = this;
|
|
381
|
+
var keyId = _ref1.keyId,
|
|
382
|
+
keyState = _ref1.keyState,
|
|
383
|
+
assignedOrgId = _ref1.assignedOrgId;
|
|
385
384
|
this.logger.info('kms: change one customer master key state for byok');
|
|
386
385
|
return this.request({
|
|
387
386
|
method: 'update',
|
|
@@ -390,7 +389,7 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
390
389
|
assignedOrgId: assignedOrgId,
|
|
391
390
|
requestId: _uuid.default.v4()
|
|
392
391
|
}).then(function (res) {
|
|
393
|
-
|
|
392
|
+
_this0.logger.info('kms: finish to change the customer master key state to {}', keyState);
|
|
394
393
|
return res;
|
|
395
394
|
});
|
|
396
395
|
},
|
|
@@ -401,11 +400,11 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
401
400
|
* @param {boolean} options.awsKms enable amazon aws keys
|
|
402
401
|
* @returns {Promise.<{status, requestId}>}
|
|
403
402
|
*/
|
|
404
|
-
deleteAllCustomerMasterKeys: function deleteAllCustomerMasterKeys(
|
|
405
|
-
var
|
|
406
|
-
var assignedOrgId =
|
|
407
|
-
|
|
408
|
-
awsKms =
|
|
403
|
+
deleteAllCustomerMasterKeys: function deleteAllCustomerMasterKeys(_ref10) {
|
|
404
|
+
var _this1 = this;
|
|
405
|
+
var assignedOrgId = _ref10.assignedOrgId,
|
|
406
|
+
_ref10$awsKms = _ref10.awsKms,
|
|
407
|
+
awsKms = _ref10$awsKms === void 0 ? false : _ref10$awsKms;
|
|
409
408
|
this.logger.info('kms: delete all customer master keys at the same time');
|
|
410
409
|
return this.request({
|
|
411
410
|
method: 'delete',
|
|
@@ -413,7 +412,7 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
413
412
|
assignedOrgId: assignedOrgId,
|
|
414
413
|
requestId: _uuid.default.v4()
|
|
415
414
|
}).then(function (res) {
|
|
416
|
-
|
|
415
|
+
_this1.logger.info('kms: finish to delete all customer master keys');
|
|
417
416
|
return res;
|
|
418
417
|
});
|
|
419
418
|
},
|
|
@@ -423,9 +422,9 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
423
422
|
* @param {UUID} options.assignedOrgId the orgId
|
|
424
423
|
* @returns {Promise.<ActivateCmkResponse>} response of activate CMK api
|
|
425
424
|
*/
|
|
426
|
-
useGlobalMasterKey: function useGlobalMasterKey(
|
|
427
|
-
var
|
|
428
|
-
var assignedOrgId =
|
|
425
|
+
useGlobalMasterKey: function useGlobalMasterKey(_ref11) {
|
|
426
|
+
var _this10 = this;
|
|
427
|
+
var assignedOrgId = _ref11.assignedOrgId;
|
|
429
428
|
this.logger.info('kms: return to use global master key');
|
|
430
429
|
return this.request({
|
|
431
430
|
method: 'update',
|
|
@@ -434,14 +433,14 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
434
433
|
assignedOrgId: assignedOrgId,
|
|
435
434
|
requestId: _uuid.default.v4()
|
|
436
435
|
}).then(function (res) {
|
|
437
|
-
|
|
436
|
+
_this10.logger.info('kms: finish to return to global master key');
|
|
438
437
|
return res;
|
|
439
438
|
});
|
|
440
439
|
},
|
|
441
|
-
fetchKey: function fetchKey(
|
|
442
|
-
var
|
|
443
|
-
var uri =
|
|
444
|
-
onBehalfOf =
|
|
440
|
+
fetchKey: function fetchKey(_ref12) {
|
|
441
|
+
var _this11 = this;
|
|
442
|
+
var uri = _ref12.uri,
|
|
443
|
+
onBehalfOf = _ref12.onBehalfOf;
|
|
445
444
|
/* istanbul ignore if */
|
|
446
445
|
if (!uri) {
|
|
447
446
|
return _promise.default.reject(new Error('`options.uri` is required'));
|
|
@@ -455,19 +454,19 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
455
454
|
}).then(function (res) {
|
|
456
455
|
// Handle redirect for migrated KRO, Key or Auth
|
|
457
456
|
if (res.errorCode === _constants.KMS_KEY_REDIRECT_ERROR_CODE && res.redirectUri) {
|
|
458
|
-
|
|
459
|
-
return
|
|
457
|
+
_this11.logger.info('kms: handling redirect for migrated resource', res.redirectUri);
|
|
458
|
+
return _this11.request({
|
|
460
459
|
method: 'retrieve',
|
|
461
460
|
uri: res.redirectUri
|
|
462
461
|
}, {
|
|
463
462
|
onBehalfOf: onBehalfOf
|
|
464
463
|
}).then(function (redirectRes) {
|
|
465
|
-
|
|
466
|
-
return
|
|
464
|
+
_this11.logger.info('kms: fetched key from redirect');
|
|
465
|
+
return _this11.asKey(redirectRes.key);
|
|
467
466
|
});
|
|
468
467
|
}
|
|
469
|
-
|
|
470
|
-
return
|
|
468
|
+
_this11.logger.info('kms: fetched key');
|
|
469
|
+
return _this11.asKey(res.key);
|
|
471
470
|
});
|
|
472
471
|
},
|
|
473
472
|
/**
|
|
@@ -498,21 +497,21 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
498
497
|
* @returns {Promise<KMS.Request>}
|
|
499
498
|
*/
|
|
500
499
|
prepareRequest: function prepareRequest(payload, onBehalfOf) {
|
|
501
|
-
var
|
|
500
|
+
var _this12 = this;
|
|
502
501
|
var isECDHRequest = payload.method === 'create' && payload.uri.includes('/ecdhe');
|
|
503
502
|
return _promise.default.resolve(isECDHRequest ? partialContexts.get(this) : this._getContext()).then(function (context) {
|
|
504
|
-
|
|
503
|
+
_this12.logger.info("kms: wrapping ".concat(isECDHRequest ? 'ephemeral key' : 'kms', " request"));
|
|
505
504
|
var req = new _nodeKms.Request(payload);
|
|
506
505
|
var requestContext = context;
|
|
507
506
|
if (onBehalfOf) {
|
|
508
|
-
requestContext =
|
|
507
|
+
requestContext = _this12._contextOnBehalfOf(context, onBehalfOf);
|
|
509
508
|
}
|
|
510
509
|
return req.wrap(requestContext, {
|
|
511
510
|
serverKey: isECDHRequest
|
|
512
511
|
}).then(function () {
|
|
513
512
|
/* istanbul ignore else */
|
|
514
513
|
if (process.env.NODE_ENV !== 'production') {
|
|
515
|
-
|
|
514
|
+
_this12.logger.info('kms: request payload', _util.default.inspect((0, _lodash.omit)(JSON.parse((0, _stringify.default)(req)), 'wrapped'), {
|
|
516
515
|
depth: null
|
|
517
516
|
}));
|
|
518
517
|
}
|
|
@@ -526,13 +525,13 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
526
525
|
* @returns {Promise<Object>}
|
|
527
526
|
*/
|
|
528
527
|
processKmsMessageEvent: function processKmsMessageEvent(event) {
|
|
529
|
-
var
|
|
528
|
+
var _this13 = this;
|
|
530
529
|
this.logger.info('kms: received kms message');
|
|
531
530
|
return _promise.default.all(event.encryption.kmsMessages.map(function (kmsMessage, index) {
|
|
532
|
-
return
|
|
533
|
-
|
|
531
|
+
return _this13._isECDHEMessage(kmsMessage).then(function (isECDHMessage) {
|
|
532
|
+
_this13.logger.info("kms: received ".concat(isECDHMessage ? 'ecdhe' : 'normal', " message"));
|
|
534
533
|
var res = new _nodeKms.Response(kmsMessage);
|
|
535
|
-
return _promise.default.resolve(isECDHMessage ? partialContexts.get(
|
|
534
|
+
return _promise.default.resolve(isECDHMessage ? partialContexts.get(_this13) : contexts.get(_this13))
|
|
536
535
|
// eslint-disable-next-line max-nested-callbacks
|
|
537
536
|
.then(function (context) {
|
|
538
537
|
return res.unwrap(context);
|
|
@@ -540,7 +539,7 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
540
539
|
// eslint-disable-next-line max-nested-callbacks
|
|
541
540
|
.then(function () {
|
|
542
541
|
if (process.env.NODE_ENV !== 'production') {
|
|
543
|
-
|
|
542
|
+
_this13.logger.info('kms: response payload', _util.default.inspect((0, _lodash.omit)(JSON.parse((0, _stringify.default)(res)), 'wrapped'), {
|
|
544
543
|
depth: null
|
|
545
544
|
}));
|
|
546
545
|
}
|
|
@@ -555,9 +554,9 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
555
554
|
});
|
|
556
555
|
});
|
|
557
556
|
})).then(function () {
|
|
558
|
-
return
|
|
557
|
+
return _this13.batcher.processKmsMessageEvent(event);
|
|
559
558
|
}).catch(function (reason) {
|
|
560
|
-
|
|
559
|
+
_this13.logger.error('kms: decrypt failed', reason.stack);
|
|
561
560
|
return _promise.default.reject(reason);
|
|
562
561
|
}).then(function () {
|
|
563
562
|
return event;
|
|
@@ -600,33 +599,33 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
600
599
|
* @returns {Promise<Object>}
|
|
601
600
|
*/
|
|
602
601
|
request: function request(payload) {
|
|
603
|
-
var
|
|
604
|
-
var
|
|
605
|
-
timeout =
|
|
606
|
-
onBehalfOf =
|
|
602
|
+
var _this14 = this;
|
|
603
|
+
var _ref13 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
604
|
+
timeout = _ref13.timeout,
|
|
605
|
+
onBehalfOf = _ref13.onBehalfOf;
|
|
607
606
|
timeout = timeout || this.config.kmsInitialTimeout;
|
|
608
607
|
|
|
609
608
|
// Note: this should only happen when we're using the async kms batcher;
|
|
610
609
|
// once we implement the sync batcher, this'll need to be smarter.
|
|
611
610
|
return this.webex.internal.mercury.connect().then(function () {
|
|
612
|
-
return
|
|
611
|
+
return _this14.prepareRequest(payload, onBehalfOf);
|
|
613
612
|
}).then(function (req) {
|
|
614
613
|
req[_kmsBatcher.TIMEOUT_SYMBOL] = timeout;
|
|
615
|
-
return
|
|
614
|
+
return _this14.batcher.request(req);
|
|
616
615
|
})
|
|
617
616
|
// High complexity is due to attempt at test mode resiliency
|
|
618
617
|
// eslint-disable-next-line complexity
|
|
619
618
|
.catch(function (reason) {
|
|
620
619
|
if (process.env.NODE_ENV === 'test' && (reason.status === 403 || reason.statusCode === 403) && reason.message.match(/Failed to resolve authorization token in KmsMessage request for user/)) {
|
|
621
|
-
|
|
622
|
-
return
|
|
620
|
+
_this14.logger.warn('kms: rerequested key due to test-mode kms auth failure');
|
|
621
|
+
return _this14.request(payload, {
|
|
623
622
|
onBehalfOf: onBehalfOf
|
|
624
623
|
});
|
|
625
624
|
}
|
|
626
625
|
|
|
627
626
|
// KMS Error. Notify the user
|
|
628
627
|
if (reason instanceof _kmsCertificateValidation.KMSError) {
|
|
629
|
-
|
|
628
|
+
_this14.webex.trigger('client:InvalidRequestError');
|
|
630
629
|
return _promise.default.reject(reason);
|
|
631
630
|
}
|
|
632
631
|
|
|
@@ -637,29 +636,29 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
637
636
|
/* istanbul ignore else */
|
|
638
637
|
if (process.env.NODE_ENV !== 'production') {
|
|
639
638
|
/* istanbul ignore next: reason.stack vs stack difficult to control in test */
|
|
640
|
-
|
|
639
|
+
_this14.logger.info('kms: request error', reason.stack || reason);
|
|
641
640
|
}
|
|
642
641
|
consoleDebug("timeout ".concat(timeout));
|
|
643
642
|
timeout *= 2;
|
|
644
|
-
if (timeout >=
|
|
645
|
-
|
|
643
|
+
if (timeout >= _this14.config.ecdhMaxTimeout) {
|
|
644
|
+
_this14.logger.info('kms: exceeded maximum KMS request retries');
|
|
646
645
|
return _promise.default.reject(reason);
|
|
647
646
|
}
|
|
648
647
|
|
|
649
648
|
// Peek ahead to make sure we don't reset the timeout if the next timeout
|
|
650
649
|
// will exceed the maximum timeout for renegotiating ECDH keys.
|
|
651
650
|
var nextTimeout = timeout * 2;
|
|
652
|
-
if (timeout >=
|
|
653
|
-
|
|
651
|
+
if (timeout >= _this14.config.kmsMaxTimeout && nextTimeout < _this14.config.ecdhMaxTimeout) {
|
|
652
|
+
_this14.logger.info('kms: exceeded maximum KMS request retries; negotiating new ecdh key');
|
|
654
653
|
|
|
655
654
|
/* istanbul ignore else */
|
|
656
655
|
if (process.env.NODE_ENV !== 'production') {
|
|
657
|
-
|
|
656
|
+
_this14.logger.info('kms: timeout/maxtimeout', timeout, _this14.config.kmsMaxTimeout);
|
|
658
657
|
}
|
|
659
|
-
contexts.delete(
|
|
658
|
+
contexts.delete(_this14);
|
|
660
659
|
timeout = 0;
|
|
661
660
|
}
|
|
662
|
-
return
|
|
661
|
+
return _this14.request(payload, {
|
|
663
662
|
timeout: timeout,
|
|
664
663
|
onBehalfOf: onBehalfOf
|
|
665
664
|
});
|
|
@@ -682,7 +681,7 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
682
681
|
* @returns {Promise<Object>}
|
|
683
682
|
*/
|
|
684
683
|
_getContext: function _getContext() {
|
|
685
|
-
var
|
|
684
|
+
var _this15 = this;
|
|
686
685
|
var promise = contexts.get(this);
|
|
687
686
|
if (!promise) {
|
|
688
687
|
promise = this._prepareContext();
|
|
@@ -690,14 +689,14 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
690
689
|
promise.then(function (context) {
|
|
691
690
|
var expiresIn = context.ephemeralKey.expirationDate - (0, _now.default)() - 30000;
|
|
692
691
|
(0, _commonTimers.safeSetTimeout)(function () {
|
|
693
|
-
return contexts.delete(
|
|
692
|
+
return contexts.delete(_this15);
|
|
694
693
|
}, expiresIn);
|
|
695
694
|
});
|
|
696
695
|
}
|
|
697
|
-
return _promise.default.all([promise, this._getAuthorization()]).then(function (
|
|
698
|
-
var
|
|
699
|
-
context =
|
|
700
|
-
authorization =
|
|
696
|
+
return _promise.default.all([promise, this._getAuthorization()]).then(function (_ref14) {
|
|
697
|
+
var _ref15 = (0, _slicedToArray2.default)(_ref14, 2),
|
|
698
|
+
context = _ref15[0],
|
|
699
|
+
authorization = _ref15[1];
|
|
701
700
|
context.clientInfo.credential.bearer = authorization;
|
|
702
701
|
return context;
|
|
703
702
|
});
|
|
@@ -708,8 +707,8 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
708
707
|
*/
|
|
709
708
|
_getKMSCluster: function _getKMSCluster() {
|
|
710
709
|
this.logger.info('kms: retrieving KMS cluster');
|
|
711
|
-
return this._getKMSDetails().then(function (
|
|
712
|
-
var kmsCluster =
|
|
710
|
+
return this._getKMSDetails().then(function (_ref16) {
|
|
711
|
+
var kmsCluster = _ref16.kmsCluster;
|
|
713
712
|
return kmsCluster;
|
|
714
713
|
});
|
|
715
714
|
},
|
|
@@ -718,7 +717,7 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
718
717
|
* @returns {Promise<Object>}
|
|
719
718
|
*/
|
|
720
719
|
_getKMSDetails: function _getKMSDetails() {
|
|
721
|
-
var
|
|
720
|
+
var _this16 = this;
|
|
722
721
|
var details = kmsDetails.get(this);
|
|
723
722
|
if (!details) {
|
|
724
723
|
this.logger.info('kms: fetching KMS details');
|
|
@@ -726,12 +725,12 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
726
725
|
service: 'encryption',
|
|
727
726
|
resource: "/kms/".concat(this.webex.internal.device.userId)
|
|
728
727
|
}).then(function (res) {
|
|
729
|
-
|
|
728
|
+
_this16.logger.info('kms: fetched KMS details');
|
|
730
729
|
var body = res.body;
|
|
731
730
|
body.rsaPublicKey = JSON.parse(body.rsaPublicKey);
|
|
732
731
|
return body;
|
|
733
732
|
}).catch(function (reason) {
|
|
734
|
-
|
|
733
|
+
_this16.logger.error('kms: failed to fetch KMS details', reason);
|
|
735
734
|
return _promise.default.reject(reason);
|
|
736
735
|
});
|
|
737
736
|
kmsDetails.set(this, details);
|
|
@@ -744,8 +743,8 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
744
743
|
*/
|
|
745
744
|
_getKMSStaticPubKey: function _getKMSStaticPubKey() {
|
|
746
745
|
this.logger.info('kms: retrieving KMS static public key');
|
|
747
|
-
return this._getKMSDetails().then(function (
|
|
748
|
-
var rsaPublicKey =
|
|
746
|
+
return this._getKMSDetails().then(function (_ref17) {
|
|
747
|
+
var rsaPublicKey = _ref17.rsaPublicKey;
|
|
749
748
|
return rsaPublicKey;
|
|
750
749
|
});
|
|
751
750
|
},
|
|
@@ -754,49 +753,49 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
754
753
|
* @returns {Promise<Object>}
|
|
755
754
|
*/
|
|
756
755
|
_prepareContext: function _prepareContext() {
|
|
757
|
-
var
|
|
756
|
+
var _this17 = this;
|
|
758
757
|
this.logger.info('kms: creating context');
|
|
759
758
|
var context = new _nodeKms.Context();
|
|
760
|
-
return _promise.default.all([this._getKMSStaticPubKey().then((0, _kmsCertificateValidation.default)(this.config.caroots)), this._getAuthorization()]).then(function (
|
|
761
|
-
var
|
|
762
|
-
kmsStaticPubKey =
|
|
763
|
-
authorization =
|
|
759
|
+
return _promise.default.all([this._getKMSStaticPubKey().then((0, _kmsCertificateValidation.default)(this.config.caroots)), this._getAuthorization()]).then(function (_ref18) {
|
|
760
|
+
var _ref19 = (0, _slicedToArray2.default)(_ref18, 2),
|
|
761
|
+
kmsStaticPubKey = _ref19[0],
|
|
762
|
+
authorization = _ref19[1];
|
|
764
763
|
context.clientInfo = {
|
|
765
|
-
clientId:
|
|
764
|
+
clientId: _this17.webex.internal.device.url,
|
|
766
765
|
credential: {
|
|
767
|
-
userId:
|
|
766
|
+
userId: _this17.webex.internal.device.userId,
|
|
768
767
|
bearer: authorization
|
|
769
768
|
}
|
|
770
769
|
};
|
|
771
770
|
context.serverInfo = {
|
|
772
771
|
key: kmsStaticPubKey
|
|
773
772
|
};
|
|
774
|
-
|
|
773
|
+
_this17.logger.info('kms: creating local ephemeral key');
|
|
775
774
|
return context.createECDHKey();
|
|
776
775
|
}).then(function (localECDHKey) {
|
|
777
776
|
context.ephemeralKey = localECDHKey;
|
|
778
|
-
partialContexts.set(
|
|
779
|
-
return _promise.default.all([localECDHKey.asKey(),
|
|
780
|
-
}).then(function (
|
|
781
|
-
var
|
|
782
|
-
localECDHKey =
|
|
783
|
-
cluster =
|
|
784
|
-
|
|
785
|
-
return
|
|
777
|
+
partialContexts.set(_this17, context);
|
|
778
|
+
return _promise.default.all([localECDHKey.asKey(), _this17._getKMSCluster()]);
|
|
779
|
+
}).then(function (_ref20) {
|
|
780
|
+
var _ref21 = (0, _slicedToArray2.default)(_ref20, 2),
|
|
781
|
+
localECDHKey = _ref21[0],
|
|
782
|
+
cluster = _ref21[1];
|
|
783
|
+
_this17.logger.info('kms: submitting ephemeral key request');
|
|
784
|
+
return _this17.request({
|
|
786
785
|
uri: "".concat(cluster, "/ecdhe"),
|
|
787
786
|
method: 'create',
|
|
788
787
|
jwk: localECDHKey.toJSON()
|
|
789
788
|
});
|
|
790
789
|
}).then(function (res) {
|
|
791
|
-
|
|
790
|
+
_this17.logger.info('kms: deriving final ephemeral key');
|
|
792
791
|
return context.deriveEphemeralKey(res.key);
|
|
793
792
|
}).then(function (key) {
|
|
794
793
|
context.ephemeralKey = key;
|
|
795
|
-
partialContexts.delete(
|
|
796
|
-
|
|
794
|
+
partialContexts.delete(_this17);
|
|
795
|
+
_this17.logger.info('kms: derived final ephemeral key');
|
|
797
796
|
return context;
|
|
798
797
|
}).catch(function (reason) {
|
|
799
|
-
|
|
798
|
+
_this17.logger.error('kms: failed to negotiate ephemeral key', reason);
|
|
800
799
|
return _promise.default.reject(reason);
|
|
801
800
|
});
|
|
802
801
|
},
|
|
@@ -827,7 +826,7 @@ var KMS = _webexCore.WebexPlugin.extend((_dec = (0, _common.oneFlight)({
|
|
|
827
826
|
context.ephemeralKey = originalContext.ephemeralKey;
|
|
828
827
|
return context;
|
|
829
828
|
},
|
|
830
|
-
version: "3.10.0-next.
|
|
831
|
-
}, (
|
|
829
|
+
version: "3.10.0-next.4"
|
|
830
|
+
}, (0, _applyDecoratedDescriptor2.default)(_obj, "fetchKey", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "fetchKey"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "_getContext", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "_getContext"), _obj), _obj));
|
|
832
831
|
var _default = exports.default = KMS;
|
|
833
832
|
//# sourceMappingURL=kms.js.map
|