soap 0.45.0 → 1.0.0

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.
Files changed (48) hide show
  1. package/History.md +7 -0
  2. package/Readme.md +12 -0
  3. package/lib/client.d.ts +1 -0
  4. package/lib/client.js +168 -187
  5. package/lib/client.js.map +1 -1
  6. package/lib/http.d.ts +1 -0
  7. package/lib/http.js +91 -101
  8. package/lib/http.js.map +1 -1
  9. package/lib/nscontext.js +38 -40
  10. package/lib/nscontext.js.map +1 -1
  11. package/lib/security/BasicAuthSecurity.js +11 -12
  12. package/lib/security/BasicAuthSecurity.js.map +1 -1
  13. package/lib/security/BearerSecurity.js +11 -12
  14. package/lib/security/BearerSecurity.js.map +1 -1
  15. package/lib/security/ClientSSLSecurity.js +12 -13
  16. package/lib/security/ClientSSLSecurity.js.map +1 -1
  17. package/lib/security/ClientSSLSecurityPFX.js +11 -12
  18. package/lib/security/ClientSSLSecurityPFX.js.map +1 -1
  19. package/lib/security/NTLMSecurity.js +12 -13
  20. package/lib/security/NTLMSecurity.js.map +1 -1
  21. package/lib/security/WSSecurity.js +21 -22
  22. package/lib/security/WSSecurity.js.map +1 -1
  23. package/lib/security/WSSecurityCert.d.ts +1 -0
  24. package/lib/security/WSSecurityCert.js +74 -56
  25. package/lib/security/WSSecurityCert.js.map +1 -1
  26. package/lib/security/WSSecurityPlusCert.d.ts +9 -0
  27. package/lib/security/WSSecurityPlusCert.js +17 -0
  28. package/lib/security/WSSecurityPlusCert.js.map +1 -0
  29. package/lib/security/index.d.ts +1 -0
  30. package/lib/security/index.js +8 -3
  31. package/lib/security/index.js.map +1 -1
  32. package/lib/server.d.ts +1 -0
  33. package/lib/server.js +189 -209
  34. package/lib/server.js.map +1 -1
  35. package/lib/soap.d.ts +1 -1
  36. package/lib/soap.js +45 -40
  37. package/lib/soap.js.map +1 -1
  38. package/lib/types.d.ts +1 -0
  39. package/lib/types.js +1 -1
  40. package/lib/utils.d.ts +1 -1
  41. package/lib/utils.js +55 -53
  42. package/lib/utils.js.map +1 -1
  43. package/lib/wsdl/elements.js +393 -515
  44. package/lib/wsdl/elements.js.map +1 -1
  45. package/lib/wsdl/index.js +322 -322
  46. package/lib/wsdl/index.js.map +1 -1
  47. package/package.json +8 -7
  48. package/tsconfig.json +2 -1
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WSSecurityCert = void 0;
4
- var uuid_1 = require("uuid");
5
- var xml_crypto_1 = require("xml-crypto");
4
+ const uuid_1 = require("uuid");
5
+ const xml_crypto_1 = require("xml-crypto");
6
6
  function addMinutes(date, minutes) {
7
7
  return new Date(date.getTime() + minutes * 60000);
8
8
  }
@@ -21,29 +21,26 @@ function insertStr(src, dst, pos) {
21
21
  return [dst.slice(0, pos), src, dst.slice(pos)].join('');
22
22
  }
23
23
  function generateId() {
24
- return uuid_1.v4().replace(/-/gm, '');
24
+ return (0, uuid_1.v4)().replace(/-/gm, '');
25
25
  }
26
26
  function resolvePlaceholderInReferences(references, bodyXpath) {
27
- for (var _i = 0, references_1 = references; _i < references_1.length; _i++) {
28
- var ref = references_1[_i];
27
+ for (const ref of references) {
29
28
  if (ref.xpath === bodyXpathPlaceholder) {
30
29
  ref.xpath = bodyXpath;
31
30
  }
32
31
  }
33
32
  }
34
- var oasisBaseUri = 'http://docs.oasis-open.org/wss/2004/01';
35
- var bodyXpathPlaceholder = '[[bodyXpath]]';
36
- var WSSecurityCert = /** @class */ (function () {
37
- function WSSecurityCert(privatePEM, publicP12PEM, password, options) {
38
- var _this = this;
39
- if (options === void 0) { options = {}; }
33
+ const oasisBaseUri = 'http://docs.oasis-open.org/wss/2004/01';
34
+ const bodyXpathPlaceholder = '[[bodyXpath]]';
35
+ class WSSecurityCert {
36
+ constructor(privatePEM, publicP12PEM, password, options = {}) {
40
37
  this.signerOptions = {};
41
38
  this.additionalReferences = [];
42
39
  this.publicP12PEM = publicP12PEM.toString()
43
40
  .replace('-----BEGIN CERTIFICATE-----', '')
44
41
  .replace('-----END CERTIFICATE-----', '')
45
42
  .replace(/(\r\n|\n|\r)/gm, '');
46
- this.signer = new xml_crypto_1.SignedXml();
43
+ this.signer = new xml_crypto_1.SignedXml(options?.signerOptions?.idMode);
47
44
  if (options.signatureAlgorithm === 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256') {
48
45
  this.signer.signatureAlgorithm = options.signatureAlgorithm;
49
46
  this.signer.addReference(bodyXpathPlaceholder, ['http://www.w3.org/2001/10/xml-exc-c14n#'], 'http://www.w3.org/2001/04/xmlenc#sha256');
@@ -52,79 +49,100 @@ var WSSecurityCert = /** @class */ (function () {
52
49
  this.additionalReferences = options.additionalReferences;
53
50
  }
54
51
  if (options.signerOptions) {
55
- var signerOptions = options.signerOptions;
52
+ const { signerOptions } = options;
56
53
  this.signerOptions = signerOptions;
57
54
  if (!this.signerOptions.existingPrefixes) {
58
55
  this.signerOptions.existingPrefixes = {};
59
56
  }
60
57
  if (this.signerOptions.existingPrefixes && !this.signerOptions.existingPrefixes.wsse) {
61
- this.signerOptions.existingPrefixes.wsse = oasisBaseUri + "/oasis-200401-wss-wssecurity-secext-1.0.xsd";
58
+ this.signerOptions.existingPrefixes.wsse = `${oasisBaseUri}/oasis-200401-wss-wssecurity-secext-1.0.xsd`;
62
59
  }
63
60
  }
64
61
  else {
65
- this.signerOptions = { existingPrefixes: { wsse: oasisBaseUri + "/oasis-200401-wss-wssecurity-secext-1.0.xsd" } };
62
+ this.signerOptions = { existingPrefixes: { wsse: `${oasisBaseUri}/oasis-200401-wss-wssecurity-secext-1.0.xsd` } };
66
63
  }
67
64
  this.signer.signingKey = {
68
65
  key: privatePEM,
69
- passphrase: password
66
+ passphrase: password,
70
67
  };
71
- this.x509Id = "x509-" + generateId();
68
+ this.x509Id = `x509-${generateId()}`;
72
69
  this.hasTimeStamp = typeof options.hasTimeStamp === 'undefined' ? true : !!options.hasTimeStamp;
73
70
  this.signatureTransformations = Array.isArray(options.signatureTransformations) ? options.signatureTransformations
74
71
  : ['http://www.w3.org/2000/09/xmldsig#enveloped-signature', 'http://www.w3.org/2001/10/xml-exc-c14n#'];
75
72
  this.signer.keyInfoProvider = {};
76
- this.signer.keyInfoProvider.getKeyInfo = function (key) {
77
- return "<wsse:SecurityTokenReference>" +
78
- ("<wsse:Reference URI=\"#" + _this.x509Id + "\" ValueType=\"" + oasisBaseUri + "/oasis-200401-wss-x509-token-profile-1.0#X509v3\"/>") +
79
- "</wsse:SecurityTokenReference>";
73
+ this.signer.keyInfoProvider.getKeyInfo = (key) => {
74
+ return `<wsse:SecurityTokenReference>` +
75
+ `<wsse:Reference URI="#${this.x509Id}" ValueType="${oasisBaseUri}/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>` +
76
+ `</wsse:SecurityTokenReference>`;
80
77
  };
81
78
  }
82
- WSSecurityCert.prototype.postProcess = function (xml, envelopeKey) {
79
+ postProcess(xml, envelopeKey) {
83
80
  this.created = generateCreated();
84
81
  this.expires = generateExpires();
85
- var timestampStr = '';
82
+ let timestampStr = '';
86
83
  if (this.hasTimeStamp) {
87
84
  timestampStr =
88
- "<Timestamp xmlns=\"" + oasisBaseUri + "/oasis-200401-wss-wssecurity-utility-1.0.xsd\" Id=\"_1\">" +
89
- ("<Created>" + this.created + "</Created>") +
90
- ("<Expires>" + this.expires + "</Expires>") +
91
- "</Timestamp>";
85
+ `<Timestamp xmlns="${oasisBaseUri}/oasis-200401-wss-wssecurity-utility-1.0.xsd" Id="_1">` +
86
+ `<Created>${this.created}</Created>` +
87
+ `<Expires>${this.expires}</Expires>` +
88
+ `</Timestamp>`;
92
89
  }
93
- var secHeader = "<wsse:Security xmlns:wsse=\"" + oasisBaseUri + "/oasis-200401-wss-wssecurity-secext-1.0.xsd\" " +
94
- ("xmlns:wsu=\"" + oasisBaseUri + "/oasis-200401-wss-wssecurity-utility-1.0.xsd\" ") +
95
- (envelopeKey + ":mustUnderstand=\"1\">") +
96
- "<wsse:BinarySecurityToken " +
97
- ("EncodingType=\"" + oasisBaseUri + "/oasis-200401-wss-soap-message-security-1.0#Base64Binary\" ") +
98
- ("ValueType=\"" + oasisBaseUri + "/oasis-200401-wss-x509-token-profile-1.0#X509v3\" ") +
99
- ("wsu:Id=\"" + this.x509Id + "\">" + this.publicP12PEM + "</wsse:BinarySecurityToken>") +
100
- timestampStr +
101
- "</wsse:Security>";
102
- var xmlWithSec = insertStr(secHeader, xml, xml.indexOf("</" + envelopeKey + ":Header>"));
103
- var references = this.signatureTransformations;
104
- var bodyXpath = "//*[name(.)='" + envelopeKey + ":Body']";
90
+ const binarySecurityToken = `<wsse:BinarySecurityToken ` +
91
+ `EncodingType="${oasisBaseUri}/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ` +
92
+ `ValueType="${oasisBaseUri}/oasis-200401-wss-x509-token-profile-1.0#X509v3" ` +
93
+ `wsu:Id="${this.x509Id}">${this.publicP12PEM}</wsse:BinarySecurityToken>` +
94
+ timestampStr;
95
+ let xmlWithSec;
96
+ const secExt = `xmlns:wsse="${oasisBaseUri}/oasis-200401-wss-wssecurity-secext-1.0.xsd"`;
97
+ const secUtility = `xmlns:wsu="${oasisBaseUri}/oasis-200401-wss-wssecurity-utility-1.0.xsd"`;
98
+ const endOfSecurityHeader = xml.indexOf('</wsse:Security>');
99
+ if (endOfSecurityHeader > -1) {
100
+ const securityHeaderRegexp = /<wsse:Security( [^>]*)?>/;
101
+ const match = xml.match(securityHeaderRegexp);
102
+ let insertHeaderAttributes = '';
103
+ if (!match[0].includes(` ${envelopeKey}:mustUnderstand="`)) {
104
+ insertHeaderAttributes += `${envelopeKey}:mustUnderstand="1" `;
105
+ }
106
+ if (!match[0].includes(secExt.substring(0, secExt.indexOf('=')))) {
107
+ insertHeaderAttributes += `${secExt} `;
108
+ }
109
+ if (!match[0].includes(secUtility.substring(0, secExt.indexOf('=')))) {
110
+ insertHeaderAttributes += `${secUtility} `;
111
+ }
112
+ const headerMarker = '<wsse:Security ';
113
+ const startOfSecurityHeader = xml.indexOf(headerMarker);
114
+ xml = insertStr(binarySecurityToken, xml, endOfSecurityHeader);
115
+ xmlWithSec = insertStr(insertHeaderAttributes, xml, startOfSecurityHeader + headerMarker.length);
116
+ }
117
+ else {
118
+ const secHeader = `<wsse:Security ${secExt} ` +
119
+ secUtility +
120
+ `${envelopeKey}:mustUnderstand="1">` +
121
+ binarySecurityToken +
122
+ `</wsse:Security>`;
123
+ xmlWithSec = insertStr(secHeader, xml, xml.indexOf(`</${envelopeKey}:Header>`));
124
+ }
125
+ const references = this.signatureTransformations;
126
+ const bodyXpath = `//*[name(.)='${envelopeKey}:Body']`;
105
127
  resolvePlaceholderInReferences(this.signer.references, bodyXpath);
106
- if (!(this.signer.references.filter(function (ref) { return (ref.xpath === bodyXpath); }).length > 0)) {
128
+ if (!(this.signer.references.filter((ref) => (ref.xpath === bodyXpath)).length > 0)) {
107
129
  this.signer.addReference(bodyXpath, references);
108
130
  }
109
- var _loop_1 = function (name_1) {
110
- var xpath = "//*[name(.)='" + name_1 + "']";
111
- if (!(this_1.signer.references.filter(function (ref) { return (ref.xpath === xpath); }).length > 0)) {
112
- this_1.signer.addReference(xpath, references);
131
+ for (const name of this.additionalReferences) {
132
+ const xpath = `//*[name(.)='${name}']`;
133
+ if (!(this.signer.references.filter((ref) => (ref.xpath === xpath)).length > 0)) {
134
+ this.signer.addReference(xpath, references);
113
135
  }
114
- };
115
- var this_1 = this;
116
- for (var _i = 0, _a = this.additionalReferences; _i < _a.length; _i++) {
117
- var name_1 = _a[_i];
118
- _loop_1(name_1);
119
136
  }
120
- var timestampXpath = "//*[name(.)='wsse:Security']/*[local-name(.)='Timestamp']";
121
- if (this.hasTimeStamp && !(this.signer.references.filter(function (ref) { return (ref.xpath === timestampXpath); }).length > 0)) {
137
+ const timestampXpath = `//*[name(.)='wsse:Security']/*[local-name(.)='Timestamp']`;
138
+ if (this.hasTimeStamp && !(this.signer.references.filter((ref) => (ref.xpath === timestampXpath)).length > 0)) {
122
139
  this.signer.addReference(timestampXpath, references);
123
140
  }
124
141
  this.signer.computeSignature(xmlWithSec, this.signerOptions);
125
- return insertStr(this.signer.getSignatureXml(), xmlWithSec, xmlWithSec.indexOf('</wsse:Security>'));
126
- };
127
- return WSSecurityCert;
128
- }());
142
+ const originalXmlWithIds = this.signer.getOriginalXmlWithIds();
143
+ const signatureXml = this.signer.getSignatureXml();
144
+ return insertStr(signatureXml, originalXmlWithIds, originalXmlWithIds.indexOf('</wsse:Security>'));
145
+ }
146
+ }
129
147
  exports.WSSecurityCert = WSSecurityCert;
130
148
  //# sourceMappingURL=WSSecurityCert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WSSecurityCert.js","sourceRoot":"","sources":["../../src/security/WSSecurityCert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WSSecurityCert.js","sourceRoot":"","sources":["../../src/security/WSSecurityCert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ISecurity } from '../types';
2
+ import { WSSecurity } from './WSSecurity';
3
+ import { WSSecurityCert } from './WSSecurityCert';
4
+ export declare class WSSecurityPlusCert implements ISecurity {
5
+ private readonly wsSecurity;
6
+ private readonly wsSecurityCert;
7
+ constructor(wsSecurity: WSSecurity, wsSecurityCert: WSSecurityCert);
8
+ postProcess(xml: string, envelopeKey: string): string;
9
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WSSecurityPlusCert = void 0;
4
+ class WSSecurityPlusCert {
5
+ constructor(wsSecurity, wsSecurityCert) {
6
+ this.wsSecurity = wsSecurity;
7
+ this.wsSecurityCert = wsSecurityCert;
8
+ }
9
+ postProcess(xml, envelopeKey) {
10
+ const securityXml = this.wsSecurity.toXML();
11
+ const endOfHeader = xml.indexOf(`</${envelopeKey}:Header>`);
12
+ xml = [xml.slice(0, endOfHeader), securityXml, xml.slice(endOfHeader)].join('');
13
+ return this.wsSecurityCert.postProcess(xml, envelopeKey);
14
+ }
15
+ }
16
+ exports.WSSecurityPlusCert = WSSecurityPlusCert;
17
+ //# sourceMappingURL=WSSecurityPlusCert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WSSecurityPlusCert.js","sourceRoot":"","sources":["../../src/security/WSSecurityPlusCert.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAkB;IAC7B,YAA6B,UAAsB,EAAmB,cAA8B;QAAvE,eAAU,GAAV,UAAU,CAAY;QAAmB,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAEjG,WAAW,CAAC,GAAW,EAAE,WAAmB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,WAAW,UAAU,CAAC,CAAC;QAC5D,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhF,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;CACF;AAVD,gDAUC"}
@@ -5,3 +5,4 @@ export * from './ClientSSLSecurityPFX';
5
5
  export * from './NTLMSecurity';
6
6
  export * from './WSSecurity';
7
7
  export * from './WSSecurityCert';
8
+ export * from './WSSecurityPlusCert';
@@ -1,15 +1,19 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
- exports.__esModule = true;
16
+ Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./BasicAuthSecurity"), exports);
14
18
  __exportStar(require("./BearerSecurity"), exports);
15
19
  __exportStar(require("./ClientSSLSecurity"), exports);
@@ -17,4 +21,5 @@ __exportStar(require("./ClientSSLSecurityPFX"), exports);
17
21
  __exportStar(require("./NTLMSecurity"), exports);
18
22
  __exportStar(require("./WSSecurity"), exports);
19
23
  __exportStar(require("./WSSecurityCert"), exports);
24
+ __exportStar(require("./WSSecurityPlusCert"), exports);
20
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,sDAAoC;AACpC,mDAAiC;AACjC,sDAAoC;AACpC,yDAAuC;AACvC,iDAA+B;AAC/B,+CAA6B;AAC7B,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,sDAAoC;AACpC,mDAAiC;AACjC,sDAAoC;AACpC,yDAAuC;AACvC,iDAA+B;AAC/B,+CAA6B;AAC7B,mDAAiC;AACjC,uDAAqC"}
package/lib/server.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { EventEmitter } from 'events';
3
4
  import * as http from 'http';
4
5
  import { IServerOptions, IServices } from './types';