@pokash/n8n-nodes-ksef 0.2.16 → 0.2.17

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 (645) hide show
  1. package/package.json +5 -12
  2. package/node_modules/@oozcitak/dom/LICENSE +0 -21
  3. package/node_modules/@oozcitak/dom/README.md +0 -32
  4. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.d.ts +0 -21
  5. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js +0 -79
  6. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js.map +0 -1
  7. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.d.ts +0 -8
  8. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js +0 -23
  9. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js.map +0 -1
  10. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.d.ts +0 -8
  11. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js +0 -76
  12. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js.map +0 -1
  13. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.d.ts +0 -19
  14. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js +0 -140
  15. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js.map +0 -1
  16. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.d.ts +0 -192
  17. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js +0 -303
  18. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js.map +0 -1
  19. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.d.ts +0 -61
  20. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js +0 -108
  21. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js.map +0 -1
  22. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.d.ts +0 -72
  23. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js +0 -288
  24. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js.map +0 -1
  25. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.d.ts +0 -21
  26. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js +0 -61
  27. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js.map +0 -1
  28. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.d.ts +0 -29
  29. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js +0 -161
  30. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js.map +0 -1
  31. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.d.ts +0 -121
  32. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js +0 -608
  33. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js.map +0 -1
  34. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.d.ts +0 -146
  35. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js +0 -995
  36. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js.map +0 -1
  37. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.d.ts +0 -33
  38. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js +0 -142
  39. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js.map +0 -1
  40. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.d.ts +0 -66
  41. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js +0 -1173
  42. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js.map +0 -1
  43. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.d.ts +0 -43
  44. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js +0 -276
  45. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js.map +0 -1
  46. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.d.ts +0 -25
  47. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js +0 -85
  48. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js.map +0 -1
  49. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.d.ts +0 -68
  50. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js +0 -543
  51. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js.map +0 -1
  52. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.d.ts +0 -15
  53. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js +0 -105
  54. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js.map +0 -1
  55. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.d.ts +0 -27
  56. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js +0 -125
  57. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js.map +0 -1
  58. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.d.ts +0 -9
  59. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js +0 -69
  60. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js.map +0 -1
  61. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.d.ts +0 -82
  62. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js +0 -829
  63. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js.map +0 -1
  64. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.d.ts +0 -8
  65. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js +0 -21
  66. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js.map +0 -1
  67. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.d.ts +0 -57
  68. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js +0 -316
  69. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js.map +0 -1
  70. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.d.ts +0 -30
  71. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js +0 -226
  72. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js.map +0 -1
  73. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.d.ts +0 -8
  74. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js +0 -62
  75. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js.map +0 -1
  76. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.d.ts +0 -268
  77. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js +0 -853
  78. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js.map +0 -1
  79. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.d.ts +0 -17
  80. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js +0 -147
  81. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js.map +0 -1
  82. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.d.ts +0 -8
  83. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js +0 -14
  84. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js.map +0 -1
  85. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.d.ts +0 -25
  86. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js +0 -164
  87. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js.map +0 -1
  88. package/node_modules/@oozcitak/dom/lib/algorithm/index.d.ts +0 -28
  89. package/node_modules/@oozcitak/dom/lib/algorithm/index.js +0 -34
  90. package/node_modules/@oozcitak/dom/lib/algorithm/index.js.map +0 -1
  91. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.d.ts +0 -15
  92. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js +0 -32
  93. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js.map +0 -1
  94. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.d.ts +0 -23
  95. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js +0 -59
  96. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js.map +0 -1
  97. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.d.ts +0 -23
  98. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js +0 -70
  99. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js.map +0 -1
  100. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.d.ts +0 -45
  101. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js +0 -118
  102. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js.map +0 -1
  103. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.d.ts +0 -21
  104. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js +0 -51
  105. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js.map +0 -1
  106. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.d.ts +0 -35
  107. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js +0 -132
  108. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js.map +0 -1
  109. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.d.ts +0 -16
  110. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js +0 -165
  111. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js.map +0 -1
  112. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.d.ts +0 -21
  113. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js +0 -52
  114. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js.map +0 -1
  115. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.d.ts +0 -16
  116. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js +0 -60
  117. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js.map +0 -1
  118. package/node_modules/@oozcitak/dom/lib/dom/DOMException.d.ts +0 -171
  119. package/node_modules/@oozcitak/dom/lib/dom/DOMException.js +0 -347
  120. package/node_modules/@oozcitak/dom/lib/dom/DOMException.js.map +0 -1
  121. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.d.ts +0 -48
  122. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js +0 -100
  123. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js.map +0 -1
  124. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.d.ts +0 -29
  125. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js +0 -149
  126. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js.map +0 -1
  127. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.d.ts +0 -46
  128. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js +0 -312
  129. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js.map +0 -1
  130. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.d.ts +0 -32
  131. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js +0 -103
  132. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js.map +0 -1
  133. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.d.ts +0 -116
  134. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js +0 -545
  135. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js.map +0 -1
  136. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.d.ts +0 -11
  137. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js +0 -17
  138. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js.map +0 -1
  139. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.d.ts +0 -39
  140. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js +0 -109
  141. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js.map +0 -1
  142. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.d.ts +0 -132
  143. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js +0 -714
  144. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js.map +0 -1
  145. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.d.ts +0 -74
  146. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js +0 -313
  147. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js.map +0 -1
  148. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.d.ts +0 -30
  149. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js +0 -133
  150. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js.map +0 -1
  151. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.d.ts +0 -44
  152. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js +0 -157
  153. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js.map +0 -1
  154. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.d.ts +0 -22
  155. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js +0 -184
  156. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js.map +0 -1
  157. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.d.ts +0 -73
  158. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js +0 -116
  159. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js.map +0 -1
  160. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.d.ts +0 -34
  161. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js +0 -112
  162. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js.map +0 -1
  163. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.d.ts +0 -50
  164. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js +0 -64
  165. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js.map +0 -1
  166. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.d.ts +0 -252
  167. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js +0 -891
  168. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js.map +0 -1
  169. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.d.ts +0 -34
  170. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js +0 -86
  171. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js.map +0 -1
  172. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.d.ts +0 -46
  173. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js +0 -198
  174. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js.map +0 -1
  175. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.d.ts +0 -49
  176. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js +0 -188
  177. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js.map +0 -1
  178. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.d.ts +0 -12
  179. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js +0 -53
  180. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js.map +0 -1
  181. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.d.ts +0 -9
  182. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js +0 -31
  183. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js.map +0 -1
  184. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.d.ts +0 -24
  185. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js +0 -158
  186. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js.map +0 -1
  187. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.d.ts +0 -25
  188. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js +0 -59
  189. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js.map +0 -1
  190. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.d.ts +0 -71
  191. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js +0 -649
  192. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js.map +0 -1
  193. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.d.ts +0 -33
  194. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js +0 -82
  195. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js.map +0 -1
  196. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.d.ts +0 -16
  197. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js +0 -35
  198. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js.map +0 -1
  199. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.d.ts +0 -13
  200. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js +0 -48
  201. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js.map +0 -1
  202. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.d.ts +0 -28
  203. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js +0 -109
  204. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js.map +0 -1
  205. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.d.ts +0 -23
  206. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js +0 -41
  207. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js.map +0 -1
  208. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.d.ts +0 -36
  209. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js +0 -249
  210. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js.map +0 -1
  211. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.d.ts +0 -26
  212. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js +0 -57
  213. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js.map +0 -1
  214. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.d.ts +0 -11
  215. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js +0 -31
  216. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js.map +0 -1
  217. package/node_modules/@oozcitak/dom/lib/dom/index.d.ts +0 -36
  218. package/node_modules/@oozcitak/dom/lib/dom/index.js +0 -102
  219. package/node_modules/@oozcitak/dom/lib/dom/index.js.map +0 -1
  220. package/node_modules/@oozcitak/dom/lib/dom/interfaces.d.ts +0 -2218
  221. package/node_modules/@oozcitak/dom/lib/dom/interfaces.js +0 -91
  222. package/node_modules/@oozcitak/dom/lib/dom/interfaces.js.map +0 -1
  223. package/node_modules/@oozcitak/dom/lib/index.d.ts +0 -3
  224. package/node_modules/@oozcitak/dom/lib/index.js +0 -11
  225. package/node_modules/@oozcitak/dom/lib/index.js.map +0 -1
  226. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.d.ts +0 -11
  227. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js +0 -37
  228. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js.map +0 -1
  229. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.d.ts +0 -26
  230. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js +0 -240
  231. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js.map +0 -1
  232. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.d.ts +0 -159
  233. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js +0 -512
  234. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js.map +0 -1
  235. package/node_modules/@oozcitak/dom/lib/parser/index.d.ts +0 -1
  236. package/node_modules/@oozcitak/dom/lib/parser/index.js +0 -6
  237. package/node_modules/@oozcitak/dom/lib/parser/index.js.map +0 -1
  238. package/node_modules/@oozcitak/dom/lib/parser/interfaces.d.ts +0 -131
  239. package/node_modules/@oozcitak/dom/lib/parser/interfaces.js +0 -18
  240. package/node_modules/@oozcitak/dom/lib/parser/interfaces.js.map +0 -1
  241. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.d.ts +0 -27
  242. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js +0 -56
  243. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js.map +0 -1
  244. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.d.ts +0 -52
  245. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js +0 -151
  246. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js.map +0 -1
  247. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.d.ts +0 -166
  248. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js +0 -1479
  249. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js.map +0 -1
  250. package/node_modules/@oozcitak/dom/lib/serializer/index.d.ts +0 -1
  251. package/node_modules/@oozcitak/dom/lib/serializer/index.js +0 -6
  252. package/node_modules/@oozcitak/dom/lib/serializer/index.js.map +0 -1
  253. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.d.ts +0 -15
  254. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js +0 -3
  255. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js.map +0 -1
  256. package/node_modules/@oozcitak/dom/lib/util/Cast.d.ts +0 -12
  257. package/node_modules/@oozcitak/dom/lib/util/Cast.js +0 -26
  258. package/node_modules/@oozcitak/dom/lib/util/Cast.js.map +0 -1
  259. package/node_modules/@oozcitak/dom/lib/util/EmptySet.d.ts +0 -13
  260. package/node_modules/@oozcitak/dom/lib/util/EmptySet.js +0 -61
  261. package/node_modules/@oozcitak/dom/lib/util/EmptySet.js.map +0 -1
  262. package/node_modules/@oozcitak/dom/lib/util/Guard.d.ts +0 -135
  263. package/node_modules/@oozcitak/dom/lib/util/Guard.js +0 -192
  264. package/node_modules/@oozcitak/dom/lib/util/Guard.js.map +0 -1
  265. package/node_modules/@oozcitak/dom/lib/util/index.d.ts +0 -3
  266. package/node_modules/@oozcitak/dom/lib/util/index.js +0 -9
  267. package/node_modules/@oozcitak/dom/lib/util/index.js.map +0 -1
  268. package/node_modules/@oozcitak/dom/package.json +0 -72
  269. package/node_modules/@oozcitak/infra/LICENSE +0 -21
  270. package/node_modules/@oozcitak/infra/README.md +0 -13
  271. package/node_modules/@oozcitak/infra/lib/Base64.d.ts +0 -12
  272. package/node_modules/@oozcitak/infra/lib/Base64.js +0 -82
  273. package/node_modules/@oozcitak/infra/lib/Base64.js.map +0 -1
  274. package/node_modules/@oozcitak/infra/lib/Byte.d.ts +0 -6
  275. package/node_modules/@oozcitak/infra/lib/Byte.js +0 -15
  276. package/node_modules/@oozcitak/infra/lib/Byte.js.map +0 -1
  277. package/node_modules/@oozcitak/infra/lib/ByteSequence.d.ts +0 -45
  278. package/node_modules/@oozcitak/infra/lib/ByteSequence.js +0 -171
  279. package/node_modules/@oozcitak/infra/lib/ByteSequence.js.map +0 -1
  280. package/node_modules/@oozcitak/infra/lib/CodePoints.d.ts +0 -82
  281. package/node_modules/@oozcitak/infra/lib/CodePoints.js +0 -85
  282. package/node_modules/@oozcitak/infra/lib/CodePoints.js.map +0 -1
  283. package/node_modules/@oozcitak/infra/lib/JSON.d.ts +0 -24
  284. package/node_modules/@oozcitak/infra/lib/JSON.js +0 -123
  285. package/node_modules/@oozcitak/infra/lib/JSON.js.map +0 -1
  286. package/node_modules/@oozcitak/infra/lib/List.d.ts +0 -101
  287. package/node_modules/@oozcitak/infra/lib/List.js +0 -325
  288. package/node_modules/@oozcitak/infra/lib/List.js.map +0 -1
  289. package/node_modules/@oozcitak/infra/lib/Map.d.ts +0 -87
  290. package/node_modules/@oozcitak/infra/lib/Map.js +0 -308
  291. package/node_modules/@oozcitak/infra/lib/Map.js.map +0 -1
  292. package/node_modules/@oozcitak/infra/lib/Namespace.d.ts +0 -6
  293. package/node_modules/@oozcitak/infra/lib/Namespace.js +0 -9
  294. package/node_modules/@oozcitak/infra/lib/Namespace.js.map +0 -1
  295. package/node_modules/@oozcitak/infra/lib/Queue.d.ts +0 -13
  296. package/node_modules/@oozcitak/infra/lib/Queue.js +0 -22
  297. package/node_modules/@oozcitak/infra/lib/Queue.js.map +0 -1
  298. package/node_modules/@oozcitak/infra/lib/Set.d.ts +0 -136
  299. package/node_modules/@oozcitak/infra/lib/Set.js +0 -467
  300. package/node_modules/@oozcitak/infra/lib/Set.js.map +0 -1
  301. package/node_modules/@oozcitak/infra/lib/Stack.d.ts +0 -13
  302. package/node_modules/@oozcitak/infra/lib/Stack.js +0 -22
  303. package/node_modules/@oozcitak/infra/lib/Stack.js.map +0 -1
  304. package/node_modules/@oozcitak/infra/lib/String.d.ts +0 -129
  305. package/node_modules/@oozcitak/infra/lib/String.js +0 -472
  306. package/node_modules/@oozcitak/infra/lib/String.js.map +0 -1
  307. package/node_modules/@oozcitak/infra/lib/index.d.ts +0 -13
  308. package/node_modules/@oozcitak/infra/lib/index.js +0 -34
  309. package/node_modules/@oozcitak/infra/lib/index.js.map +0 -1
  310. package/node_modules/@oozcitak/infra/package.json +0 -54
  311. package/node_modules/@oozcitak/url/LICENSE +0 -21
  312. package/node_modules/@oozcitak/url/README.md +0 -27
  313. package/node_modules/@oozcitak/url/lib/URLAlgorithm.d.ts +0 -267
  314. package/node_modules/@oozcitak/url/lib/URLAlgorithm.js +0 -2758
  315. package/node_modules/@oozcitak/url/lib/URLAlgorithm.js.map +0 -1
  316. package/node_modules/@oozcitak/url/lib/URLImpl.d.ts +0 -53
  317. package/node_modules/@oozcitak/url/lib/URLImpl.js +0 -377
  318. package/node_modules/@oozcitak/url/lib/URLImpl.js.map +0 -1
  319. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.d.ts +0 -38
  320. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js +0 -303
  321. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js.map +0 -1
  322. package/node_modules/@oozcitak/url/lib/index.d.ts +0 -2
  323. package/node_modules/@oozcitak/url/lib/index.js +0 -7
  324. package/node_modules/@oozcitak/url/lib/index.js.map +0 -1
  325. package/node_modules/@oozcitak/url/lib/interfaces.d.ts +0 -195
  326. package/node_modules/@oozcitak/url/lib/interfaces.js +0 -31
  327. package/node_modules/@oozcitak/url/lib/interfaces.js.map +0 -1
  328. package/node_modules/@oozcitak/url/package.json +0 -55
  329. package/node_modules/@oozcitak/util/LICENSE +0 -21
  330. package/node_modules/@oozcitak/util/README.md +0 -10
  331. package/node_modules/@oozcitak/util/lib/CompareCache.d.ts +0 -32
  332. package/node_modules/@oozcitak/util/lib/CompareCache.js +0 -59
  333. package/node_modules/@oozcitak/util/lib/CompareCache.js.map +0 -1
  334. package/node_modules/@oozcitak/util/lib/FixedSizeSet.d.ts +0 -64
  335. package/node_modules/@oozcitak/util/lib/FixedSizeSet.js +0 -174
  336. package/node_modules/@oozcitak/util/lib/FixedSizeSet.js.map +0 -1
  337. package/node_modules/@oozcitak/util/lib/Lazy.d.ts +0 -18
  338. package/node_modules/@oozcitak/util/lib/Lazy.js +0 -34
  339. package/node_modules/@oozcitak/util/lib/Lazy.js.map +0 -1
  340. package/node_modules/@oozcitak/util/lib/ObjectCache.d.ts +0 -71
  341. package/node_modules/@oozcitak/util/lib/ObjectCache.js +0 -181
  342. package/node_modules/@oozcitak/util/lib/ObjectCache.js.map +0 -1
  343. package/node_modules/@oozcitak/util/lib/StringWalker.d.ts +0 -49
  344. package/node_modules/@oozcitak/util/lib/StringWalker.js +0 -105
  345. package/node_modules/@oozcitak/util/lib/StringWalker.js.map +0 -1
  346. package/node_modules/@oozcitak/util/lib/index.d.ts +0 -178
  347. package/node_modules/@oozcitak/util/lib/index.js +0 -439
  348. package/node_modules/@oozcitak/util/lib/index.js.map +0 -1
  349. package/node_modules/@oozcitak/util/package.json +0 -50
  350. package/node_modules/@xmldom/is-dom-node/LICENSE.md +0 -21
  351. package/node_modules/@xmldom/is-dom-node/README.md +0 -91
  352. package/node_modules/@xmldom/is-dom-node/dist/index.d.ts +0 -33
  353. package/node_modules/@xmldom/is-dom-node/dist/index.js +0 -91
  354. package/node_modules/@xmldom/is-dom-node/dist/index.js.map +0 -1
  355. package/node_modules/@xmldom/is-dom-node/package.json +0 -69
  356. package/node_modules/@xmldom/xmldom/CHANGELOG.md +0 -468
  357. package/node_modules/@xmldom/xmldom/LICENSE +0 -8
  358. package/node_modules/@xmldom/xmldom/SECURITY.md +0 -50
  359. package/node_modules/@xmldom/xmldom/index.d.ts +0 -43
  360. package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +0 -2
  361. package/node_modules/@xmldom/xmldom/lib/conventions.js +0 -203
  362. package/node_modules/@xmldom/xmldom/lib/dom-parser.js +0 -322
  363. package/node_modules/@xmldom/xmldom/lib/dom.js +0 -1879
  364. package/node_modules/@xmldom/xmldom/lib/entities.js +0 -2166
  365. package/node_modules/@xmldom/xmldom/lib/index.js +0 -4
  366. package/node_modules/@xmldom/xmldom/lib/sax.js +0 -662
  367. package/node_modules/@xmldom/xmldom/package.json +0 -71
  368. package/node_modules/@xmldom/xmldom/readme.md +0 -356
  369. package/node_modules/esprima/ChangeLog +0 -235
  370. package/node_modules/esprima/LICENSE.BSD +0 -21
  371. package/node_modules/esprima/README.md +0 -46
  372. package/node_modules/esprima/bin/esparse.js +0 -139
  373. package/node_modules/esprima/bin/esvalidate.js +0 -236
  374. package/node_modules/esprima/dist/esprima.js +0 -6709
  375. package/node_modules/esprima/package.json +0 -112
  376. package/node_modules/node-forge/LICENSE +0 -331
  377. package/node_modules/node-forge/README.md +0 -2071
  378. package/node_modules/node-forge/dist/forge.all.min.js +0 -2
  379. package/node_modules/node-forge/dist/forge.all.min.js.map +0 -1
  380. package/node_modules/node-forge/dist/forge.min.js +0 -2
  381. package/node_modules/node-forge/dist/forge.min.js.map +0 -1
  382. package/node_modules/node-forge/dist/prime.worker.min.js +0 -2
  383. package/node_modules/node-forge/dist/prime.worker.min.js.map +0 -1
  384. package/node_modules/node-forge/flash/swf/SocketPool.swf +0 -0
  385. package/node_modules/node-forge/lib/aes.js +0 -1091
  386. package/node_modules/node-forge/lib/aesCipherSuites.js +0 -282
  387. package/node_modules/node-forge/lib/asn1-validator.js +0 -91
  388. package/node_modules/node-forge/lib/asn1.js +0 -1503
  389. package/node_modules/node-forge/lib/baseN.js +0 -186
  390. package/node_modules/node-forge/lib/cipher.js +0 -230
  391. package/node_modules/node-forge/lib/cipherModes.js +0 -999
  392. package/node_modules/node-forge/lib/des.js +0 -496
  393. package/node_modules/node-forge/lib/ed25519.js +0 -1072
  394. package/node_modules/node-forge/lib/forge.js +0 -13
  395. package/node_modules/node-forge/lib/form.js +0 -149
  396. package/node_modules/node-forge/lib/hmac.js +0 -146
  397. package/node_modules/node-forge/lib/http.js +0 -1346
  398. package/node_modules/node-forge/lib/index.all.js +0 -16
  399. package/node_modules/node-forge/lib/index.js +0 -33
  400. package/node_modules/node-forge/lib/jsbn.js +0 -1264
  401. package/node_modules/node-forge/lib/kem.js +0 -168
  402. package/node_modules/node-forge/lib/log.js +0 -319
  403. package/node_modules/node-forge/lib/md.all.js +0 -13
  404. package/node_modules/node-forge/lib/md.js +0 -11
  405. package/node_modules/node-forge/lib/md5.js +0 -289
  406. package/node_modules/node-forge/lib/mgf.js +0 -12
  407. package/node_modules/node-forge/lib/mgf1.js +0 -57
  408. package/node_modules/node-forge/lib/oids.js +0 -179
  409. package/node_modules/node-forge/lib/pbe.js +0 -1023
  410. package/node_modules/node-forge/lib/pbkdf2.js +0 -211
  411. package/node_modules/node-forge/lib/pem.js +0 -237
  412. package/node_modules/node-forge/lib/pkcs1.js +0 -276
  413. package/node_modules/node-forge/lib/pkcs12.js +0 -1078
  414. package/node_modules/node-forge/lib/pkcs7.js +0 -1260
  415. package/node_modules/node-forge/lib/pkcs7asn1.js +0 -410
  416. package/node_modules/node-forge/lib/pki.js +0 -102
  417. package/node_modules/node-forge/lib/prime.js +0 -297
  418. package/node_modules/node-forge/lib/prime.worker.js +0 -168
  419. package/node_modules/node-forge/lib/prng.js +0 -419
  420. package/node_modules/node-forge/lib/pss.js +0 -241
  421. package/node_modules/node-forge/lib/random.js +0 -191
  422. package/node_modules/node-forge/lib/rc2.js +0 -410
  423. package/node_modules/node-forge/lib/rsa.js +0 -1949
  424. package/node_modules/node-forge/lib/sha1.js +0 -319
  425. package/node_modules/node-forge/lib/sha256.js +0 -327
  426. package/node_modules/node-forge/lib/sha512.js +0 -561
  427. package/node_modules/node-forge/lib/socket.js +0 -287
  428. package/node_modules/node-forge/lib/ssh.js +0 -236
  429. package/node_modules/node-forge/lib/tls.js +0 -4282
  430. package/node_modules/node-forge/lib/tlssocket.js +0 -249
  431. package/node_modules/node-forge/lib/util.js +0 -2652
  432. package/node_modules/node-forge/lib/x509.js +0 -3242
  433. package/node_modules/node-forge/lib/xhr.js +0 -738
  434. package/node_modules/node-forge/package.json +0 -123
  435. package/node_modules/sprintf-js/.npmignore +0 -1
  436. package/node_modules/sprintf-js/LICENSE +0 -24
  437. package/node_modules/sprintf-js/README.md +0 -88
  438. package/node_modules/sprintf-js/bower.json +0 -14
  439. package/node_modules/sprintf-js/demo/angular.html +0 -20
  440. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -4
  441. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +0 -1
  442. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +0 -1
  443. package/node_modules/sprintf-js/dist/sprintf.min.js +0 -4
  444. package/node_modules/sprintf-js/dist/sprintf.min.js.map +0 -1
  445. package/node_modules/sprintf-js/dist/sprintf.min.map +0 -1
  446. package/node_modules/sprintf-js/gruntfile.js +0 -36
  447. package/node_modules/sprintf-js/package.json +0 -22
  448. package/node_modules/sprintf-js/src/angular-sprintf.js +0 -18
  449. package/node_modules/sprintf-js/src/sprintf.js +0 -208
  450. package/node_modules/sprintf-js/test/test.js +0 -82
  451. package/node_modules/xml-crypto/LICENSE +0 -22
  452. package/node_modules/xml-crypto/README.md +0 -557
  453. package/node_modules/xml-crypto/lib/c14n-canonicalization.d.ts +0 -39
  454. package/node_modules/xml-crypto/lib/c14n-canonicalization.js +0 -230
  455. package/node_modules/xml-crypto/lib/c14n-canonicalization.js.map +0 -1
  456. package/node_modules/xml-crypto/lib/enveloped-signature.d.ts +0 -7
  457. package/node_modules/xml-crypto/lib/enveloped-signature.js +0 -43
  458. package/node_modules/xml-crypto/lib/enveloped-signature.js.map +0 -1
  459. package/node_modules/xml-crypto/lib/exclusive-canonicalization.d.ts +0 -38
  460. package/node_modules/xml-crypto/lib/exclusive-canonicalization.js +0 -246
  461. package/node_modules/xml-crypto/lib/exclusive-canonicalization.js.map +0 -1
  462. package/node_modules/xml-crypto/lib/hash-algorithms.d.ts +0 -13
  463. package/node_modules/xml-crypto/lib/hash-algorithms.js +0 -47
  464. package/node_modules/xml-crypto/lib/hash-algorithms.js.map +0 -1
  465. package/node_modules/xml-crypto/lib/index.d.ts +0 -5
  466. package/node_modules/xml-crypto/lib/index.js +0 -28
  467. package/node_modules/xml-crypto/lib/index.js.map +0 -1
  468. package/node_modules/xml-crypto/lib/signature-algorithms.d.ts +0 -47
  469. package/node_modules/xml-crypto/lib/signature-algorithms.js +0 -86
  470. package/node_modules/xml-crypto/lib/signature-algorithms.js.map +0 -1
  471. package/node_modules/xml-crypto/lib/signed-xml.d.ts +0 -225
  472. package/node_modules/xml-crypto/lib/signed-xml.js +0 -960
  473. package/node_modules/xml-crypto/lib/signed-xml.js.map +0 -1
  474. package/node_modules/xml-crypto/lib/types.d.ts +0 -125
  475. package/node_modules/xml-crypto/lib/types.js +0 -57
  476. package/node_modules/xml-crypto/lib/types.js.map +0 -1
  477. package/node_modules/xml-crypto/lib/utils.d.ts +0 -65
  478. package/node_modules/xml-crypto/lib/utils.js +0 -256
  479. package/node_modules/xml-crypto/lib/utils.js.map +0 -1
  480. package/node_modules/xml-crypto/node_modules/xpath/LICENSE +0 -22
  481. package/node_modules/xml-crypto/node_modules/xpath/README.md +0 -133
  482. package/node_modules/xml-crypto/node_modules/xpath/docs/XPathEvaluator.md +0 -62
  483. package/node_modules/xml-crypto/node_modules/xpath/docs/XPathResult.md +0 -47
  484. package/node_modules/xml-crypto/node_modules/xpath/docs/function resolvers.md +0 -88
  485. package/node_modules/xml-crypto/node_modules/xpath/docs/namespace resolvers.md +0 -69
  486. package/node_modules/xml-crypto/node_modules/xpath/docs/parsed expressions.md +0 -21
  487. package/node_modules/xml-crypto/node_modules/xpath/docs/variable resolvers.md +0 -89
  488. package/node_modules/xml-crypto/node_modules/xpath/docs/xpath methods.md +0 -39
  489. package/node_modules/xml-crypto/node_modules/xpath/package.json +0 -39
  490. package/node_modules/xml-crypto/node_modules/xpath/test.js +0 -1186
  491. package/node_modules/xml-crypto/node_modules/xpath/xpath.d.ts +0 -51
  492. package/node_modules/xml-crypto/node_modules/xpath/xpath.js +0 -4938
  493. package/node_modules/xml-crypto/package.json +0 -73
  494. package/node_modules/xmlbuilder2/CHANGELOG.md +0 -309
  495. package/node_modules/xmlbuilder2/LICENSE +0 -21
  496. package/node_modules/xmlbuilder2/README.md +0 -183
  497. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.d.ts +0 -236
  498. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js +0 -108
  499. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js.map +0 -1
  500. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.d.ts +0 -17
  501. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js +0 -26
  502. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js.map +0 -1
  503. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.d.ts +0 -124
  504. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js +0 -782
  505. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js.map +0 -1
  506. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.d.ts +0 -143
  507. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js +0 -841
  508. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js.map +0 -1
  509. package/node_modules/xmlbuilder2/lib/builder/dom.d.ts +0 -8
  510. package/node_modules/xmlbuilder2/lib/builder/dom.js +0 -67
  511. package/node_modules/xmlbuilder2/lib/builder/dom.js.map +0 -1
  512. package/node_modules/xmlbuilder2/lib/builder/index.d.ts +0 -4
  513. package/node_modules/xmlbuilder2/lib/builder/index.js +0 -15
  514. package/node_modules/xmlbuilder2/lib/builder/index.js.map +0 -1
  515. package/node_modules/xmlbuilder2/lib/constants.d.ts +0 -1
  516. package/node_modules/xmlbuilder2/lib/constants.js +0 -4
  517. package/node_modules/xmlbuilder2/lib/constants.js.map +0 -1
  518. package/node_modules/xmlbuilder2/lib/index.d.ts +0 -1
  519. package/node_modules/xmlbuilder2/lib/index.js +0 -10
  520. package/node_modules/xmlbuilder2/lib/index.js.map +0 -1
  521. package/node_modules/xmlbuilder2/lib/interfaces.d.ts +0 -1355
  522. package/node_modules/xmlbuilder2/lib/interfaces.js +0 -76
  523. package/node_modules/xmlbuilder2/lib/interfaces.js.map +0 -1
  524. package/node_modules/xmlbuilder2/lib/readers/BaseReader.d.ts +0 -109
  525. package/node_modules/xmlbuilder2/lib/readers/BaseReader.js +0 -167
  526. package/node_modules/xmlbuilder2/lib/readers/BaseReader.js.map +0 -1
  527. package/node_modules/xmlbuilder2/lib/readers/JSONReader.d.ts +0 -14
  528. package/node_modules/xmlbuilder2/lib/readers/JSONReader.js +0 -38
  529. package/node_modules/xmlbuilder2/lib/readers/JSONReader.js.map +0 -1
  530. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.d.ts +0 -15
  531. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js +0 -168
  532. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js.map +0 -1
  533. package/node_modules/xmlbuilder2/lib/readers/XMLReader.d.ts +0 -14
  534. package/node_modules/xmlbuilder2/lib/readers/XMLReader.js +0 -206
  535. package/node_modules/xmlbuilder2/lib/readers/XMLReader.js.map +0 -1
  536. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.d.ts +0 -14
  537. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js +0 -44
  538. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js.map +0 -1
  539. package/node_modules/xmlbuilder2/lib/readers/index.d.ts +0 -4
  540. package/node_modules/xmlbuilder2/lib/readers/index.js +0 -11
  541. package/node_modules/xmlbuilder2/lib/readers/index.js.map +0 -1
  542. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.d.ts +0 -110
  543. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js +0 -23
  544. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js.map +0 -1
  545. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.d.ts +0 -276
  546. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js +0 -1603
  547. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js.map +0 -1
  548. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.d.ts +0 -68
  549. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js +0 -172
  550. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js.map +0 -1
  551. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.d.ts +0 -67
  552. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js +0 -222
  553. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js.map +0 -1
  554. package/node_modules/xmlbuilder2/lib/writers/MapWriter.d.ts +0 -27
  555. package/node_modules/xmlbuilder2/lib/writers/MapWriter.js +0 -84
  556. package/node_modules/xmlbuilder2/lib/writers/MapWriter.js.map +0 -1
  557. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.d.ts +0 -56
  558. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js +0 -483
  559. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js.map +0 -1
  560. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.d.ts +0 -51
  561. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js +0 -165
  562. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js.map +0 -1
  563. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.d.ts +0 -60
  564. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js +0 -236
  565. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js.map +0 -1
  566. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.d.ts +0 -61
  567. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js +0 -161
  568. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js.map +0 -1
  569. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.d.ts +0 -55
  570. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js +0 -186
  571. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js.map +0 -1
  572. package/node_modules/xmlbuilder2/lib/writers/index.d.ts +0 -5
  573. package/node_modules/xmlbuilder2/lib/writers/index.js +0 -13
  574. package/node_modules/xmlbuilder2/lib/writers/index.js.map +0 -1
  575. package/node_modules/xmlbuilder2/lib/xmlbuilder2.min.js +0 -8
  576. package/node_modules/xmlbuilder2/node_modules/argparse/CHANGELOG.md +0 -185
  577. package/node_modules/xmlbuilder2/node_modules/argparse/LICENSE +0 -21
  578. package/node_modules/xmlbuilder2/node_modules/argparse/README.md +0 -257
  579. package/node_modules/xmlbuilder2/node_modules/argparse/index.js +0 -3
  580. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/append/constant.js +0 -47
  581. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/append.js +0 -53
  582. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/count.js +0 -40
  583. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/help.js +0 -47
  584. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/store/constant.js +0 -43
  585. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/store/false.js +0 -27
  586. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/store/true.js +0 -26
  587. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/store.js +0 -50
  588. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/subparsers.js +0 -149
  589. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action/version.js +0 -47
  590. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action.js +0 -146
  591. package/node_modules/xmlbuilder2/node_modules/argparse/lib/action_container.js +0 -482
  592. package/node_modules/xmlbuilder2/node_modules/argparse/lib/argparse.js +0 -14
  593. package/node_modules/xmlbuilder2/node_modules/argparse/lib/argument/error.js +0 -50
  594. package/node_modules/xmlbuilder2/node_modules/argparse/lib/argument/exclusive.js +0 -54
  595. package/node_modules/xmlbuilder2/node_modules/argparse/lib/argument/group.js +0 -75
  596. package/node_modules/xmlbuilder2/node_modules/argparse/lib/argument_parser.js +0 -1161
  597. package/node_modules/xmlbuilder2/node_modules/argparse/lib/const.js +0 -21
  598. package/node_modules/xmlbuilder2/node_modules/argparse/lib/help/added_formatters.js +0 -87
  599. package/node_modules/xmlbuilder2/node_modules/argparse/lib/help/formatter.js +0 -795
  600. package/node_modules/xmlbuilder2/node_modules/argparse/lib/namespace.js +0 -76
  601. package/node_modules/xmlbuilder2/node_modules/argparse/lib/utils.js +0 -57
  602. package/node_modules/xmlbuilder2/node_modules/argparse/package.json +0 -34
  603. package/node_modules/xmlbuilder2/node_modules/js-yaml/CHANGELOG.md +0 -557
  604. package/node_modules/xmlbuilder2/node_modules/js-yaml/LICENSE +0 -21
  605. package/node_modules/xmlbuilder2/node_modules/js-yaml/README.md +0 -299
  606. package/node_modules/xmlbuilder2/node_modules/js-yaml/bin/js-yaml.js +0 -132
  607. package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.js +0 -3989
  608. package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.min.js +0 -1
  609. package/node_modules/xmlbuilder2/node_modules/js-yaml/index.js +0 -7
  610. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/common.js +0 -59
  611. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/dumper.js +0 -850
  612. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/exception.js +0 -43
  613. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/loader.js +0 -1644
  614. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/mark.js +0 -76
  615. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/core.js +0 -18
  616. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +0 -25
  617. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +0 -28
  618. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +0 -17
  619. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/json.js +0 -25
  620. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema.js +0 -108
  621. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/binary.js +0 -138
  622. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/bool.js +0 -35
  623. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/float.js +0 -116
  624. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/int.js +0 -173
  625. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/function.js +0 -93
  626. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +0 -60
  627. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +0 -28
  628. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/map.js +0 -8
  629. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/merge.js +0 -12
  630. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/null.js +0 -34
  631. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/omap.js +0 -44
  632. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/pairs.js +0 -53
  633. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/seq.js +0 -8
  634. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/set.js +0 -29
  635. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/str.js +0 -8
  636. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +0 -88
  637. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type.js +0 -61
  638. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml.js +0 -39
  639. package/node_modules/xmlbuilder2/node_modules/js-yaml/package.json +0 -49
  640. package/node_modules/xmlbuilder2/package.json +0 -82
  641. package/node_modules/xpath/LICENSE +0 -22
  642. package/node_modules/xpath/README.md +0 -133
  643. package/node_modules/xpath/package.json +0 -43
  644. package/node_modules/xpath/xpath.d.ts +0 -51
  645. package/node_modules/xpath/xpath.js +0 -5041
@@ -1 +0,0 @@
1
- {"version":3,"file":"signed-xml.js","sourceRoot":"","sources":["../src/signed-xml.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n CanonicalizationAlgorithmType,\n CanonicalizationOrTransformAlgorithmType,\n CanonicalizationOrTransformationAlgorithm,\n CanonicalizationOrTransformationAlgorithmProcessOptions,\n ComputeSignatureOptions,\n ErrorFirstCallback,\n GetKeyInfoContentArgs,\n HashAlgorithm,\n HashAlgorithmType,\n Reference,\n SignatureAlgorithm,\n SignatureAlgorithmType,\n SignedXmlOptions,\n} from \"./types\";\n\nimport * as isDomNode from \"@xmldom/is-dom-node\";\nimport * as xmldom from \"@xmldom/xmldom\";\nimport * as crypto from \"crypto\";\nimport { deprecate } from \"util\";\nimport * as xpath from \"xpath\";\nimport * as c14n from \"./c14n-canonicalization\";\nimport * as envelopedSignatures from \"./enveloped-signature\";\nimport * as execC14n from \"./exclusive-canonicalization\";\nimport * as hashAlgorithms from \"./hash-algorithms\";\nimport * as signatureAlgorithms from \"./signature-algorithms\";\nimport * as utils from \"./utils\";\n\nexport class SignedXml {\n idMode?: \"wssecurity\";\n idAttributes: string[];\n /**\n * A {@link Buffer} or pem encoded {@link String} containing your private key\n */\n privateKey?: crypto.KeyLike;\n publicCert?: crypto.KeyLike;\n /**\n * One of the supported signature algorithms.\n * @see {@link SignatureAlgorithmType}\n */\n signatureAlgorithm?: SignatureAlgorithmType = undefined;\n /**\n * Rules used to convert an XML document into its canonical form.\n */\n canonicalizationAlgorithm?: CanonicalizationAlgorithmType = undefined;\n /**\n * It specifies a list of namespace prefixes that should be considered \"inclusive\" during the canonicalization process.\n */\n inclusiveNamespacesPrefixList: string[] = [];\n namespaceResolver: XPathNSResolver = {\n lookupNamespaceURI: function (/* prefix */) {\n throw new Error(\"Not implemented\");\n },\n };\n implicitTransforms: ReadonlyArray<CanonicalizationOrTransformAlgorithmType> = [];\n keyInfoAttributes: { [attrName: string]: string } = {};\n getKeyInfoContent = SignedXml.getKeyInfoContent;\n getCertFromKeyInfo = SignedXml.getCertFromKeyInfo;\n\n // Internal state\n private id = 0;\n private signedXml = \"\";\n private signatureXml = \"\";\n private signatureNode: Node | null = null;\n private signatureValue = \"\";\n private originalXmlWithIds = \"\";\n private keyInfo: Node | null = null;\n\n /**\n * Contains the references that were signed.\n * @see {@link Reference}\n */\n private references: Reference[] = [];\n\n /**\n * Contains the canonicalized XML of the references that were validly signed.\n *\n * This populates with the canonical XML of the reference only after\n * verifying the signature is cryptographically authentic.\n */\n private signedReferences: string[] = [];\n\n /**\n * To add a new transformation algorithm create a new class that implements the {@link TransformationAlgorithm} interface, and register it here. More info: {@link https://github.com/node-saml/xml-crypto#customizing-algorithms|Customizing Algorithms}\n */\n CanonicalizationAlgorithms: Record<\n CanonicalizationOrTransformAlgorithmType,\n new () => CanonicalizationOrTransformationAlgorithm\n > = {\n \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\": c14n.C14nCanonicalization,\n \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\":\n c14n.C14nCanonicalizationWithComments,\n \"http://www.w3.org/2001/10/xml-exc-c14n#\": execC14n.ExclusiveCanonicalization,\n \"http://www.w3.org/2001/10/xml-exc-c14n#WithComments\":\n execC14n.ExclusiveCanonicalizationWithComments,\n \"http://www.w3.org/2000/09/xmldsig#enveloped-signature\": envelopedSignatures.EnvelopedSignature,\n };\n\n // TODO: In v7.x we may consider deprecating sha1\n\n /**\n * To add a new hash algorithm create a new class that implements the {@link HashAlgorithm} interface, and register it here. More info: {@link https://github.com/node-saml/xml-crypto#customizing-algorithms|Customizing Algorithms}\n */\n HashAlgorithms: Record<HashAlgorithmType, new () => HashAlgorithm> = {\n \"http://www.w3.org/2000/09/xmldsig#sha1\": hashAlgorithms.Sha1,\n \"http://www.w3.org/2001/04/xmlenc#sha256\": hashAlgorithms.Sha256,\n \"http://www.w3.org/2001/04/xmlenc#sha512\": hashAlgorithms.Sha512,\n };\n\n // TODO: In v7.x we may consider deprecating sha1\n\n /**\n * To add a new signature algorithm create a new class that implements the {@link SignatureAlgorithm} interface, and register it here. More info: {@link https://github.com/node-saml/xml-crypto#customizing-algorithms|Customizing Algorithms}\n */\n SignatureAlgorithms: Record<SignatureAlgorithmType, new () => SignatureAlgorithm> = {\n \"http://www.w3.org/2000/09/xmldsig#rsa-sha1\": signatureAlgorithms.RsaSha1,\n \"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\": signatureAlgorithms.RsaSha256,\n \"http://www.w3.org/2001/04/xmldsig-more#rsa-sha512\": signatureAlgorithms.RsaSha512,\n // Disabled by default due to key confusion concerns.\n // 'http://www.w3.org/2000/09/xmldsig#hmac-sha1': SignatureAlgorithms.HmacSha1\n };\n\n static defaultNsForPrefix = {\n ds: \"http://www.w3.org/2000/09/xmldsig#\",\n };\n\n static noop = () => null;\n\n /**\n * The SignedXml constructor provides an abstraction for sign and verify xml documents. The object is constructed using\n * @param options {@link SignedXmlOptions}\n */\n constructor(options: SignedXmlOptions = {}) {\n const {\n idMode,\n idAttribute,\n privateKey,\n publicCert,\n signatureAlgorithm,\n canonicalizationAlgorithm,\n inclusiveNamespacesPrefixList,\n implicitTransforms,\n keyInfoAttributes,\n getKeyInfoContent,\n getCertFromKeyInfo,\n } = options;\n\n // Options\n this.idMode = idMode;\n this.idAttributes = [\"Id\", \"ID\", \"id\"];\n if (idAttribute) {\n this.idAttributes.unshift(idAttribute);\n }\n this.privateKey = privateKey;\n this.publicCert = publicCert;\n this.signatureAlgorithm = signatureAlgorithm ?? this.signatureAlgorithm;\n this.canonicalizationAlgorithm = canonicalizationAlgorithm;\n if (typeof inclusiveNamespacesPrefixList === \"string\") {\n this.inclusiveNamespacesPrefixList = inclusiveNamespacesPrefixList.split(\" \");\n } else if (utils.isArrayHasLength(inclusiveNamespacesPrefixList)) {\n this.inclusiveNamespacesPrefixList = inclusiveNamespacesPrefixList;\n }\n this.implicitTransforms = implicitTransforms ?? this.implicitTransforms;\n this.keyInfoAttributes = keyInfoAttributes ?? this.keyInfoAttributes;\n this.getKeyInfoContent = getKeyInfoContent ?? this.getKeyInfoContent;\n this.getCertFromKeyInfo = getCertFromKeyInfo ?? SignedXml.noop;\n this.CanonicalizationAlgorithms;\n this.HashAlgorithms;\n this.SignatureAlgorithms;\n }\n\n /**\n * Due to key-confusion issues, it's risky to have both hmac\n * and digital signature algorithms enabled at the same time.\n * This enables HMAC and disables other signing algorithms.\n */\n enableHMAC(): void {\n this.SignatureAlgorithms = {\n \"http://www.w3.org/2000/09/xmldsig#hmac-sha1\": signatureAlgorithms.HmacSha1,\n };\n this.getKeyInfoContent = SignedXml.noop;\n }\n\n /**\n * Builds the contents of a KeyInfo element as an XML string.\n *\n * For example, if the value of the prefix argument is 'foo', then\n * the resultant XML string will be \"<foo:X509Data></foo:X509Data>\"\n *\n * @return an XML string representation of the contents of a KeyInfo element, or `null` if no `KeyInfo` element should be included\n */\n static getKeyInfoContent({ publicCert, prefix }: GetKeyInfoContentArgs): string | null {\n if (publicCert == null) {\n return null;\n }\n\n prefix = prefix ? `${prefix}:` : \"\";\n\n let x509Certs = \"\";\n if (Buffer.isBuffer(publicCert)) {\n publicCert = publicCert.toString(\"latin1\");\n }\n\n let publicCertMatches: string[] = [];\n if (typeof publicCert === \"string\") {\n publicCertMatches = publicCert.match(utils.EXTRACT_X509_CERTS) || [];\n }\n\n if (publicCertMatches.length > 0) {\n x509Certs = publicCertMatches\n .map(\n (c) =>\n `<${prefix}X509Certificate>${utils\n .pemToDer(c)\n .toString(\"base64\")}</${prefix}X509Certificate>`,\n )\n .join(\"\");\n }\n\n return `<${prefix}X509Data>${x509Certs}</${prefix}X509Data>`;\n }\n\n /**\n * Returns the value of the signing certificate based on the contents of the\n * specified KeyInfo.\n *\n * @param keyInfo KeyInfo element (@see https://www.w3.org/TR/2008/REC-xmldsig-core-20080610/#sec-X509Data)\n * @return the signing certificate as a string in PEM format\n */\n static getCertFromKeyInfo(keyInfo?: Node | null): string | null {\n if (keyInfo != null) {\n const cert = xpath.select1(\".//*[local-name(.)='X509Certificate']\", keyInfo);\n if (isDomNode.isNodeLike(cert)) {\n return utils.derToPem(cert.textContent ?? \"\", \"CERTIFICATE\");\n }\n }\n\n return null;\n }\n\n /**\n * Validates the signature of the provided XML document synchronously using the configured key info provider.\n *\n * @param xml The XML document containing the signature to be validated.\n * @returns `true` if the signature is valid\n * @throws Error if no key info resolver is provided.\n */\n checkSignature(xml: string): boolean;\n /**\n * Validates the signature of the provided XML document synchronously using the configured key info provider.\n *\n * @param xml The XML document containing the signature to be validated.\n * @param callback Callback function to handle the validation result asynchronously.\n * @throws Error if the last parameter is provided and is not a function, or if no key info resolver is provided.\n */\n checkSignature(xml: string, callback: (error: Error | null, isValid?: boolean) => void): void;\n checkSignature(\n xml: string,\n callback?: (error: Error | null, isValid?: boolean) => void,\n ): unknown {\n if (callback != null && typeof callback !== \"function\") {\n throw new Error(\"Last parameter must be a callback function\");\n }\n\n this.signedXml = xml;\n\n const doc = new xmldom.DOMParser().parseFromString(xml);\n\n // Reset the references as only references from our re-parsed signedInfo node can be trusted\n this.references = [];\n\n const unverifiedSignedInfoCanon = this.getCanonSignedInfoXml(doc);\n if (!unverifiedSignedInfoCanon) {\n if (callback) {\n callback(new Error(\"Canonical signed info cannot be empty\"), false);\n return;\n }\n\n throw new Error(\"Canonical signed info cannot be empty\");\n }\n\n // unsigned, verify later to keep with consistent callback behavior\n const parsedUnverifiedSignedInfo = new xmldom.DOMParser().parseFromString(\n unverifiedSignedInfoCanon,\n \"text/xml\",\n );\n\n const unverifiedSignedInfoDoc = parsedUnverifiedSignedInfo.documentElement;\n if (!unverifiedSignedInfoDoc) {\n if (callback) {\n callback(new Error(\"Could not parse unverifiedSignedInfoCanon into a document\"), false);\n return;\n }\n\n throw new Error(\"Could not parse unverifiedSignedInfoCanon into a document\");\n }\n\n const references = utils.findChildren(unverifiedSignedInfoDoc, \"Reference\");\n if (!utils.isArrayHasLength(references)) {\n if (callback) {\n callback(new Error(\"could not find any Reference elements\"), false);\n return;\n }\n\n throw new Error(\"could not find any Reference elements\");\n }\n\n // TODO: In a future release we'd like to load the Signature and its References at the same time,\n // however, in the `.loadSignature()` method we don't have the entire document,\n // which we need to to keep the inclusive namespaces\n for (const reference of references) {\n this.loadReference(reference);\n }\n\n /* eslint-disable-next-line deprecation/deprecation */\n if (!this.getReferences().every((ref) => this.validateReference(ref, doc))) {\n /* Trustworthiness can only be determined if SignedInfo's (which holds References' DigestValue(s)\n which were validated at this stage) signature is valid. Execution does not proceed to validate\n signature phase thus each References' DigestValue must be considered to be untrusted (attacker\n might have injected any data with new new references and/or recalculated new DigestValue for\n altered Reference(s)). Returning any content via `signedReferences` would give false sense of\n trustworthiness if/when SignedInfo's (which holds references' DigestValues) signature is not\n valid(ated). Put simply: if one fails, they are all not trustworthy.\n */\n this.signedReferences = [];\n this.references.forEach((ref) => {\n ref.signedReference = undefined;\n });\n // TODO: add this breaking change here later on for even more security: `this.references = [];`\n\n if (callback) {\n callback(new Error(\"Could not validate all references\"), false);\n return;\n }\n\n // We return false because some references validated, but not all\n // We should actually be throwing an error here, but that would be a breaking change\n // See https://www.w3.org/TR/xmldsig-core/#sec-CoreValidation\n return false;\n }\n\n // (Stage B authentication step, show that the `signedInfoCanon` is signed)\n\n // First find the key & signature algorithm, these should match\n // Stage B: Take the signature algorithm and key and verify the `SignatureValue` against the canonicalized `SignedInfo`\n const signer = this.findSignatureAlgorithm(this.signatureAlgorithm);\n const key = this.getCertFromKeyInfo(this.keyInfo) || this.publicCert || this.privateKey;\n if (key == null) {\n throw new Error(\"KeyInfo or publicCert or privateKey is required to validate signature\");\n }\n\n // Check the signature verification to know whether to reset signature value or not.\n const sigRes = signer.verifySignature(unverifiedSignedInfoCanon, key, this.signatureValue);\n if (sigRes === true) {\n if (callback) {\n callback(null, true);\n } else {\n return true;\n }\n } else {\n // Ideally, we would start by verifying the `signedInfoCanon` first,\n // but that may cause some breaking changes, so we'll handle that in v7.x.\n // If we were validating `signedInfoCanon` first, we wouldn't have to reset this array.\n this.signedReferences = [];\n this.references.forEach((ref) => {\n ref.signedReference = undefined;\n });\n // TODO: add this breaking change here later on for even more security: `this.references = [];`\n\n if (callback) {\n callback(\n new Error(`invalid signature: the signature value ${this.signatureValue} is incorrect`),\n );\n return; // return early\n } else {\n throw new Error(\n `invalid signature: the signature value ${this.signatureValue} is incorrect`,\n );\n }\n }\n }\n\n private getCanonSignedInfoXml(doc: Document) {\n if (this.signatureNode == null) {\n throw new Error(\"No signature found.\");\n }\n if (typeof this.canonicalizationAlgorithm !== \"string\") {\n throw new Error(\"Missing canonicalizationAlgorithm when trying to get signed info for XML\");\n }\n\n const signedInfo = utils.findChildren(this.signatureNode, \"SignedInfo\");\n if (signedInfo.length === 0) {\n throw new Error(\"could not find SignedInfo element in the message\");\n }\n if (signedInfo.length > 1) {\n throw new Error(\n \"could not get canonicalized signed info for a signature that contains multiple SignedInfo nodes\",\n );\n }\n\n if (\n this.canonicalizationAlgorithm === \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" ||\n this.canonicalizationAlgorithm ===\n \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"\n ) {\n if (!doc || typeof doc !== \"object\") {\n throw new Error(\n \"When canonicalization method is non-exclusive, whole xml dom must be provided as an argument\",\n );\n }\n }\n\n /**\n * Search for ancestor namespaces before canonicalization.\n */\n const ancestorNamespaces = utils.findAncestorNs(doc, \"//*[local-name()='SignedInfo']\");\n\n const c14nOptions = {\n ancestorNamespaces: ancestorNamespaces,\n };\n\n return this.getCanonXml([this.canonicalizationAlgorithm], signedInfo[0], c14nOptions);\n }\n\n private getCanonReferenceXml(doc: Document, ref: Reference, node: Node) {\n /**\n * Search for ancestor namespaces before canonicalization.\n */\n if (Array.isArray(ref.transforms)) {\n ref.ancestorNamespaces = utils.findAncestorNs(doc, ref.xpath, this.namespaceResolver);\n }\n\n const c14nOptions = {\n inclusiveNamespacesPrefixList: ref.inclusiveNamespacesPrefixList,\n ancestorNamespaces: ref.ancestorNamespaces,\n };\n\n return this.getCanonXml(ref.transforms, node, c14nOptions);\n }\n\n private calculateSignatureValue(doc: Document, callback?: ErrorFirstCallback<string>) {\n const signedInfoCanon = this.getCanonSignedInfoXml(doc);\n const signer = this.findSignatureAlgorithm(this.signatureAlgorithm);\n if (this.privateKey == null) {\n throw new Error(\"Private key is required to compute signature\");\n }\n if (typeof callback === \"function\") {\n signer.getSignature(signedInfoCanon, this.privateKey, callback);\n } else {\n this.signatureValue = signer.getSignature(signedInfoCanon, this.privateKey);\n }\n }\n\n private findSignatureAlgorithm(name?: SignatureAlgorithmType) {\n if (name == null) {\n throw new Error(\"signatureAlgorithm is required\");\n }\n const algo = this.SignatureAlgorithms[name];\n if (algo) {\n return new algo();\n } else {\n throw new Error(`signature algorithm '${name}' is not supported`);\n }\n }\n\n private findCanonicalizationAlgorithm(name: CanonicalizationOrTransformAlgorithmType) {\n if (name != null) {\n const algo = this.CanonicalizationAlgorithms[name];\n if (algo) {\n return new algo();\n }\n }\n\n throw new Error(`canonicalization algorithm '${name}' is not supported`);\n }\n\n private findHashAlgorithm(name: HashAlgorithmType) {\n const algo = this.HashAlgorithms[name];\n if (algo) {\n return new algo();\n } else {\n throw new Error(`hash algorithm '${name}' is not supported`);\n }\n }\n\n validateElementAgainstReferences(elemOrXpath: Element | string, doc: Document): Reference {\n let elem: Element;\n if (typeof elemOrXpath === \"string\") {\n const firstElem = xpath.select1(elemOrXpath, doc);\n isDomNode.assertIsElementNode(firstElem);\n elem = firstElem;\n } else {\n elem = elemOrXpath;\n }\n\n /* eslint-disable-next-line deprecation/deprecation */\n for (const ref of this.getReferences()) {\n const uri = ref.uri?.[0] === \"#\" ? ref.uri.substring(1) : ref.uri;\n\n for (const attr of this.idAttributes) {\n const elemId = elem.getAttribute(attr);\n if (uri === elemId) {\n ref.xpath = `//*[@*[local-name(.)='${attr}']='${uri}']`;\n break; // found the correct element, no need to check further\n }\n }\n\n const canonXml = this.getCanonReferenceXml(doc, ref, elem);\n const hash = this.findHashAlgorithm(ref.digestAlgorithm);\n const digest = hash.getHash(canonXml);\n\n if (utils.validateDigestValue(digest, ref.digestValue)) {\n return ref;\n }\n }\n\n throw new Error(\"No references passed validation\");\n }\n\n private validateReference(ref: Reference, doc: Document) {\n const uri = ref.uri?.[0] === \"#\" ? ref.uri.substring(1) : ref.uri;\n let elem: xpath.SelectSingleReturnType = null;\n\n if (uri === \"\") {\n elem = xpath.select1(\"//*\", doc);\n } else if (uri?.indexOf(\"'\") !== -1) {\n // xpath injection\n throw new Error(\"Cannot validate a uri with quotes inside it\");\n } else {\n let num_elements_for_id = 0;\n for (const attr of this.idAttributes) {\n const tmp_elemXpath = `//*[@*[local-name(.)='${attr}']='${uri}']`;\n const tmp_elem = xpath.select(tmp_elemXpath, doc);\n if (utils.isArrayHasLength(tmp_elem)) {\n num_elements_for_id += tmp_elem.length;\n\n if (num_elements_for_id > 1) {\n throw new Error(\n \"Cannot validate a document which contains multiple elements with the \" +\n \"same value for the ID / Id / Id attributes, in order to prevent \" +\n \"signature wrapping attack.\",\n );\n }\n\n elem = tmp_elem[0];\n ref.xpath = tmp_elemXpath;\n }\n }\n }\n\n ref.getValidatedNode = deprecate((xpathSelector?: string) => {\n xpathSelector = xpathSelector || ref.xpath;\n if (typeof xpathSelector !== \"string\" || ref.validationError != null) {\n return null;\n }\n const selectedValue = xpath.select1(xpathSelector, doc);\n return isDomNode.isNodeLike(selectedValue) ? selectedValue : null;\n }, \"`ref.getValidatedNode()` is deprecated and insecure. Use `ref.signedReference` or `this.getSignedReferences()` instead.\");\n\n if (!isDomNode.isNodeLike(elem)) {\n const validationError = new Error(\n `invalid signature: the signature references an element with uri ${ref.uri} but could not find such element in the xml`,\n );\n ref.validationError = validationError;\n return false;\n }\n\n const canonXml = this.getCanonReferenceXml(doc, ref, elem);\n const hash = this.findHashAlgorithm(ref.digestAlgorithm);\n const digest = hash.getHash(canonXml);\n\n if (!utils.validateDigestValue(digest, ref.digestValue)) {\n const validationError = new Error(\n `invalid signature: for uri ${ref.uri} calculated digest is ${digest} but the xml to validate supplies digest ${ref.digestValue}`,\n );\n ref.validationError = validationError;\n\n return false;\n }\n // This step can only be done after we have verified the `signedInfo`.\n // We verified that they have same hash,\n // thus the `canonXml` and _only_ the `canonXml` can be trusted.\n // Append this to `signedReferences`.\n this.signedReferences.push(canonXml);\n ref.signedReference = canonXml;\n\n return true;\n }\n\n findSignatures(doc: Node): Node[] {\n const nodes = xpath.select(\n \"//*[local-name(.)='Signature' and namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']\",\n doc,\n );\n\n return isDomNode.isArrayOfNodes(nodes) ? nodes : [];\n }\n\n /**\n * Loads the signature information from the provided XML node or string.\n *\n * @param signatureNode The XML node or string representing the signature.\n */\n loadSignature(signatureNode: Node | string): void {\n if (typeof signatureNode === \"string\") {\n this.signatureNode = signatureNode = new xmldom.DOMParser().parseFromString(signatureNode);\n } else {\n this.signatureNode = signatureNode;\n }\n\n this.signatureXml = signatureNode.toString();\n\n const node = xpath.select1(\n \".//*[local-name(.)='CanonicalizationMethod']/@Algorithm\",\n signatureNode,\n );\n if (!isDomNode.isNodeLike(node)) {\n throw new Error(\"could not find CanonicalizationMethod/@Algorithm element\");\n }\n\n if (isDomNode.isAttributeNode(node)) {\n this.canonicalizationAlgorithm = node.value as CanonicalizationAlgorithmType;\n }\n\n const signatureAlgorithm = xpath.select1(\n \".//*[local-name(.)='SignatureMethod']/@Algorithm\",\n signatureNode,\n );\n\n if (isDomNode.isAttributeNode(signatureAlgorithm)) {\n this.signatureAlgorithm = signatureAlgorithm.value as SignatureAlgorithmType;\n }\n\n const signedInfoNodes = utils.findChildren(this.signatureNode, \"SignedInfo\");\n if (!utils.isArrayHasLength(signedInfoNodes)) {\n throw new Error(\"no signed info node found\");\n }\n if (signedInfoNodes.length > 1) {\n throw new Error(\"could not load signature that contains multiple SignedInfo nodes\");\n }\n\n // Try to operate on the c14n version of `signedInfo`. This forces the initial `getReferences()`\n // API call to always return references that are loaded under the canonical `SignedInfo`\n // in the case that the client access the `.references` **before** signature verification.\n\n // Ensure canonicalization algorithm is exclusive, otherwise we'd need the entire document\n let canonicalizationAlgorithmForSignedInfo = this.canonicalizationAlgorithm;\n if (\n !canonicalizationAlgorithmForSignedInfo ||\n canonicalizationAlgorithmForSignedInfo ===\n \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" ||\n canonicalizationAlgorithmForSignedInfo ===\n \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"\n ) {\n canonicalizationAlgorithmForSignedInfo = \"http://www.w3.org/2001/10/xml-exc-c14n#\";\n }\n\n const temporaryCanonSignedInfo = this.getCanonXml(\n [canonicalizationAlgorithmForSignedInfo],\n signedInfoNodes[0],\n );\n const temporaryCanonSignedInfoXml = new xmldom.DOMParser().parseFromString(\n temporaryCanonSignedInfo,\n \"text/xml\",\n );\n const signedInfoDoc = temporaryCanonSignedInfoXml.documentElement;\n\n this.references = [];\n const references = utils.findChildren(signedInfoDoc, \"Reference\");\n\n if (!utils.isArrayHasLength(references)) {\n throw new Error(\"could not find any Reference elements\");\n }\n\n for (const reference of references) {\n this.loadReference(reference);\n }\n\n const signatureValue = xpath.select1(\n \".//*[local-name(.)='SignatureValue']/text()\",\n signatureNode,\n );\n\n if (isDomNode.isTextNode(signatureValue)) {\n this.signatureValue = signatureValue.data.replace(/\\r?\\n/g, \"\");\n }\n\n const keyInfo = xpath.select1(\".//*[local-name(.)='KeyInfo']\", signatureNode);\n\n if (isDomNode.isNodeLike(keyInfo)) {\n this.keyInfo = keyInfo;\n }\n }\n\n /**\n * Load the reference xml node to a model\n *\n */\n private loadReference(refNode: Node) {\n let nodes = utils.findChildren(refNode, \"DigestMethod\");\n if (nodes.length === 0) {\n throw new Error(`could not find DigestMethod in reference ${refNode.toString()}`);\n }\n const digestAlgoNode = nodes[0];\n\n const attr = utils.findAttr(digestAlgoNode, \"Algorithm\");\n if (!attr) {\n throw new Error(`could not find Algorithm attribute in node ${digestAlgoNode.toString()}`);\n }\n const digestAlgo = attr.value;\n\n nodes = utils.findChildren(refNode, \"DigestValue\");\n if (nodes.length === 0) {\n throw new Error(`could not find DigestValue node in reference ${refNode.toString()}`);\n }\n\n if (nodes.length > 1) {\n throw new Error(\n `could not load reference for a node that contains multiple DigestValue nodes: ${refNode.toString()}`,\n );\n }\n const digestValue = nodes[0].textContent;\n if (!digestValue) {\n throw new Error(`could not find the value of DigestValue in ${refNode.toString()}`);\n }\n\n const transforms: string[] = [];\n let inclusiveNamespacesPrefixList: string[] = [];\n nodes = utils.findChildren(refNode, \"Transforms\");\n if (nodes.length !== 0) {\n const transformsNode = nodes[0];\n const transformsAll = utils.findChildren(transformsNode, \"Transform\");\n for (const transform of transformsAll) {\n const transformAttr = utils.findAttr(transform, \"Algorithm\");\n\n if (transformAttr) {\n transforms.push(transformAttr.value);\n }\n }\n\n // This is a little strange, we are looking for children of the last child of `transformsNode`\n const inclusiveNamespaces = utils.findChildren(\n transformsAll[transformsAll.length - 1],\n \"InclusiveNamespaces\",\n );\n if (utils.isArrayHasLength(inclusiveNamespaces)) {\n // Should really only be one prefix list, but maybe there's some circumstances where more than one to let's handle it\n inclusiveNamespacesPrefixList = inclusiveNamespaces\n .flatMap((namespace) => (namespace.getAttribute(\"PrefixList\") ?? \"\").split(\" \"))\n .filter((value) => value.length > 0);\n }\n }\n\n if (utils.isArrayHasLength(this.implicitTransforms)) {\n this.implicitTransforms.forEach(function (t) {\n transforms.push(t);\n });\n }\n\n /**\n * DigestMethods take an octet stream rather than a node set. If the output of the last transform is a node set, we\n * need to canonicalize the node set to an octet stream using non-exclusive canonicalization. If there are no\n * transforms, we need to canonicalize because URI dereferencing for a same-document reference will return a node-set.\n * @see:\n * https://www.w3.org/TR/xmldsig-core1/#sec-DigestMethod\n * https://www.w3.org/TR/xmldsig-core1/#sec-ReferenceProcessingModel\n * https://www.w3.org/TR/xmldsig-core1/#sec-Same-Document\n */\n if (\n transforms.length === 0 ||\n transforms[transforms.length - 1] === \"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"\n ) {\n transforms.push(\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\");\n }\n const refUri = isDomNode.isElementNode(refNode)\n ? refNode.getAttribute(\"URI\") || undefined\n : undefined;\n\n this.addReference({\n transforms,\n digestAlgorithm: digestAlgo,\n uri: refUri,\n digestValue,\n inclusiveNamespacesPrefixList,\n isEmptyUri: false,\n });\n }\n\n /**\n * Adds a reference to the signature.\n *\n * @param xpath The XPath expression to select the XML nodes to be referenced.\n * @param transforms An array of transform algorithms to be applied to the selected nodes.\n * @param digestAlgorithm The digest algorithm to use for computing the digest value.\n * @param uri The URI identifier for the reference. If empty, an empty URI will be used.\n * @param digestValue The expected digest value for the reference.\n * @param inclusiveNamespacesPrefixList The prefix list for inclusive namespace canonicalization.\n * @param isEmptyUri Indicates whether the URI is empty. Defaults to `false`.\n */\n addReference({\n xpath,\n transforms,\n digestAlgorithm,\n uri = \"\",\n digestValue,\n inclusiveNamespacesPrefixList = [],\n isEmptyUri = false,\n }: Partial<Reference> & Pick<Reference, \"xpath\">): void {\n if (digestAlgorithm == null) {\n throw new Error(\"digestAlgorithm is required\");\n }\n\n if (!utils.isArrayHasLength(transforms)) {\n throw new Error(\"transforms must contain at least one transform algorithm\");\n }\n\n this.references.push({\n xpath,\n transforms,\n digestAlgorithm,\n uri,\n digestValue,\n inclusiveNamespacesPrefixList,\n isEmptyUri,\n getValidatedNode: () => {\n throw new Error(\n \"Reference has not been validated yet; Did you call `sig.checkSignature()`?\",\n );\n },\n });\n }\n\n /**\n * Returns the list of references.\n */\n getReferences() {\n // TODO: Refactor once `getValidatedNode` is removed\n /* Once we completely remove the deprecated `getValidatedNode()` method,\n we can change this to return a clone to prevent accidental mutations,\n e.g.:\n return [...this.references];\n */\n\n return this.references;\n }\n\n getSignedReferences() {\n return [...this.signedReferences];\n }\n\n /**\n * Compute the signature of the given XML (using the already defined settings).\n *\n * @param xml The XML to compute the signature for.\n * @param callback A callback function to handle the signature computation asynchronously.\n * @returns void\n * @throws TypeError If the xml can not be parsed.\n */\n computeSignature(xml: string): void;\n\n /**\n * Compute the signature of the given XML (using the already defined settings).\n *\n * @param xml The XML to compute the signature for.\n * @param callback A callback function to handle the signature computation asynchronously.\n * @returns void\n * @throws TypeError If the xml can not be parsed.\n */\n computeSignature(xml: string, callback: ErrorFirstCallback<SignedXml>): void;\n\n /**\n * Compute the signature of the given XML (using the already defined settings).\n *\n * @param xml The XML to compute the signature for.\n * @param opts An object containing options for the signature computation.\n * @returns If no callback is provided, returns `this` (the instance of SignedXml).\n * @throws TypeError If the xml can not be parsed, or Error if there were invalid options passed.\n */\n computeSignature(xml: string, options: ComputeSignatureOptions): void;\n\n /**\n * Compute the signature of the given XML (using the already defined settings).\n *\n * @param xml The XML to compute the signature for.\n * @param opts An object containing options for the signature computation.\n * @param callback A callback function to handle the signature computation asynchronously.\n * @returns void\n * @throws TypeError If the xml can not be parsed, or Error if there were invalid options passed.\n */\n computeSignature(\n xml: string,\n options: ComputeSignatureOptions,\n callback: ErrorFirstCallback<SignedXml>,\n ): void;\n\n computeSignature(\n xml: string,\n options?: ComputeSignatureOptions | ErrorFirstCallback<SignedXml>,\n callbackParam?: ErrorFirstCallback<SignedXml>,\n ): void {\n let callback: ErrorFirstCallback<SignedXml>;\n if (typeof options === \"function\" && callbackParam == null) {\n callback = options as ErrorFirstCallback<SignedXml>;\n options = {} as ComputeSignatureOptions;\n } else {\n callback = callbackParam as ErrorFirstCallback<SignedXml>;\n options = (options ?? {}) as ComputeSignatureOptions;\n }\n\n const doc = new xmldom.DOMParser().parseFromString(xml);\n let xmlNsAttr = \"xmlns\";\n const signatureAttrs: string[] = [];\n let currentPrefix: string;\n\n const validActions = [\"append\", \"prepend\", \"before\", \"after\"];\n\n const prefix = options.prefix;\n const attrs = options.attrs || {};\n const location = options.location || {};\n const existingPrefixes = options.existingPrefixes || {};\n\n this.namespaceResolver = {\n lookupNamespaceURI: function (prefix) {\n return prefix ? existingPrefixes[prefix] : null;\n },\n };\n\n // defaults to the root node\n location.reference = location.reference || \"/*\";\n // defaults to append action\n location.action = location.action || \"append\";\n\n if (validActions.indexOf(location.action) === -1) {\n const err = new Error(\n `location.action option has an invalid action: ${\n location.action\n }, must be any of the following values: ${validActions.join(\", \")}`,\n );\n if (!callback) {\n throw err;\n } else {\n callback(err);\n return;\n }\n }\n\n // automatic insertion of `:`\n if (prefix) {\n xmlNsAttr += `:${prefix}`;\n currentPrefix = `${prefix}:`;\n } else {\n currentPrefix = \"\";\n }\n\n Object.keys(attrs).forEach(function (name) {\n if (name !== \"xmlns\" && name !== xmlNsAttr) {\n signatureAttrs.push(`${name}=\"${attrs[name]}\"`);\n }\n });\n\n // add the xml namespace attribute\n signatureAttrs.push(`${xmlNsAttr}=\"http://www.w3.org/2000/09/xmldsig#\"`);\n\n let signatureXml = `<${currentPrefix}Signature ${signatureAttrs.join(\" \")}>`;\n\n signatureXml += this.createSignedInfo(doc, prefix);\n signatureXml += this.getKeyInfo(prefix);\n signatureXml += `</${currentPrefix}Signature>`;\n\n this.originalXmlWithIds = doc.toString();\n\n let existingPrefixesString = \"\";\n Object.keys(existingPrefixes).forEach(function (key) {\n existingPrefixesString += `xmlns:${key}=\"${existingPrefixes[key]}\" `;\n });\n\n // A trick to remove the namespaces that already exist in the xml\n // This only works if the prefix and namespace match with those in the xml\n const dummySignatureWrapper = `<Dummy ${existingPrefixesString}>${signatureXml}</Dummy>`;\n const nodeXml = new xmldom.DOMParser().parseFromString(dummySignatureWrapper);\n\n // Because we are using a dummy wrapper hack described above, we know there will be a `firstChild`\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const signatureDoc = nodeXml.documentElement.firstChild!;\n\n const referenceNode = xpath.select1(location.reference, doc);\n\n if (!isDomNode.isNodeLike(referenceNode)) {\n const err2 = new Error(\n `the following xpath cannot be used because it was not found: ${location.reference}`,\n );\n if (!callback) {\n throw err2;\n } else {\n callback(err2);\n return;\n }\n }\n\n if (location.action === \"append\") {\n referenceNode.appendChild(signatureDoc);\n } else if (location.action === \"prepend\") {\n referenceNode.insertBefore(signatureDoc, referenceNode.firstChild);\n } else if (location.action === \"before\") {\n if (referenceNode.parentNode == null) {\n throw new Error(\n \"`location.reference` refers to the root node (by default), so we can't insert `before`\",\n );\n }\n referenceNode.parentNode.insertBefore(signatureDoc, referenceNode);\n } else if (location.action === \"after\") {\n if (referenceNode.parentNode == null) {\n throw new Error(\n \"`location.reference` refers to the root node (by default), so we can't insert `after`\",\n );\n }\n referenceNode.parentNode.insertBefore(signatureDoc, referenceNode.nextSibling);\n }\n\n this.signatureNode = signatureDoc;\n const signedInfoNodes = utils.findChildren(this.signatureNode, \"SignedInfo\");\n if (signedInfoNodes.length === 0) {\n const err3 = new Error(\"could not find SignedInfo element in the message\");\n if (!callback) {\n throw err3;\n } else {\n callback(err3);\n return;\n }\n }\n const signedInfoNode = signedInfoNodes[0];\n\n if (typeof callback === \"function\") {\n // Asynchronous flow\n this.calculateSignatureValue(doc, (err, signature) => {\n if (err) {\n callback(err);\n } else {\n this.signatureValue = signature || \"\";\n signatureDoc.insertBefore(this.createSignature(prefix), signedInfoNode.nextSibling);\n this.signatureXml = signatureDoc.toString();\n this.signedXml = doc.toString();\n callback(null, this);\n }\n });\n } else {\n // Synchronous flow\n this.calculateSignatureValue(doc);\n signatureDoc.insertBefore(this.createSignature(prefix), signedInfoNode.nextSibling);\n this.signatureXml = signatureDoc.toString();\n this.signedXml = doc.toString();\n }\n }\n\n private getKeyInfo(prefix) {\n const currentPrefix = prefix ? `${prefix}:` : \"\";\n\n let keyInfoAttrs = \"\";\n if (this.keyInfoAttributes) {\n Object.keys(this.keyInfoAttributes).forEach((name) => {\n keyInfoAttrs += ` ${name}=\"${this.keyInfoAttributes[name]}\"`;\n });\n }\n\n const keyInfoContent = this.getKeyInfoContent({ publicCert: this.publicCert, prefix });\n if (keyInfoAttrs || keyInfoContent) {\n return `<${currentPrefix}KeyInfo${keyInfoAttrs}>${keyInfoContent}</${currentPrefix}KeyInfo>`;\n }\n\n return \"\";\n }\n\n /**\n * Generate the Reference nodes (as part of the signature process)\n *\n */\n private createReferences(doc, prefix) {\n let res = \"\";\n\n prefix = prefix || \"\";\n prefix = prefix ? `${prefix}:` : prefix;\n\n /* eslint-disable-next-line deprecation/deprecation */\n for (const ref of this.getReferences()) {\n const nodes = xpath.selectWithResolver(ref.xpath ?? \"\", doc, this.namespaceResolver);\n\n if (!utils.isArrayHasLength(nodes)) {\n throw new Error(\n `the following xpath cannot be signed because it was not found: ${ref.xpath}`,\n );\n }\n\n for (const node of nodes) {\n if (ref.isEmptyUri) {\n res += `<${prefix}Reference URI=\"\">`;\n } else {\n const id = this.ensureHasId(node);\n ref.uri = id;\n res += `<${prefix}Reference URI=\"#${id}\">`;\n }\n res += `<${prefix}Transforms>`;\n for (const trans of ref.transforms || []) {\n const transform = this.findCanonicalizationAlgorithm(trans);\n res += `<${prefix}Transform Algorithm=\"${transform.getAlgorithmName()}\"`;\n if (utils.isArrayHasLength(ref.inclusiveNamespacesPrefixList)) {\n res += \">\";\n res += `<InclusiveNamespaces PrefixList=\"${ref.inclusiveNamespacesPrefixList.join(\n \" \",\n )}\" xmlns=\"${transform.getAlgorithmName()}\"/>`;\n res += `</${prefix}Transform>`;\n } else {\n res += \" />\";\n }\n }\n\n const canonXml = this.getCanonReferenceXml(doc, ref, node);\n\n const digestAlgorithm = this.findHashAlgorithm(ref.digestAlgorithm);\n res +=\n `</${prefix}Transforms>` +\n `<${prefix}DigestMethod Algorithm=\"${digestAlgorithm.getAlgorithmName()}\" />` +\n `<${prefix}DigestValue>${digestAlgorithm.getHash(canonXml)}</${prefix}DigestValue>` +\n `</${prefix}Reference>`;\n }\n }\n\n return res;\n }\n\n getCanonXml(\n transforms: Reference[\"transforms\"],\n node: Node,\n options: CanonicalizationOrTransformationAlgorithmProcessOptions = {},\n ) {\n options.defaultNsForPrefix = options.defaultNsForPrefix ?? SignedXml.defaultNsForPrefix;\n options.signatureNode = this.signatureNode;\n\n const canonXml = node.cloneNode(true); // Deep clone\n let transformedXml: Node | string = canonXml;\n\n transforms.forEach((transformName) => {\n if (isDomNode.isNodeLike(transformedXml)) {\n // If, after processing, `transformedNode` is a string, we can't do anymore transforms on it\n const transform = this.findCanonicalizationAlgorithm(transformName);\n transformedXml = transform.process(transformedXml, options);\n }\n //TODO: currently transform.process may return either Node or String value (enveloped transformation returns Node, exclusive-canonicalization returns String).\n //This either needs to be more explicit in the API, or all should return the same.\n //exclusive-canonicalization returns String since it builds the Xml by hand. If it had used xmldom it would incorrectly minimize empty tags\n //to <x/> instead of <x></x> and also incorrectly handle some delicate line break issues.\n //enveloped transformation returns Node since if it would return String consider this case:\n //<x xmlns:p='ns'><p:y/></x>\n //if only y is the node to sign then a string would be <p:y/> without the definition of the p namespace. probably xmldom toString() should have added it.\n });\n\n return transformedXml.toString();\n }\n\n /**\n * Ensure an element has Id attribute. If not create it with unique value.\n * Work with both normal and wssecurity Id flavour\n */\n private ensureHasId(node) {\n let attr;\n\n if (this.idMode === \"wssecurity\") {\n attr = utils.findAttr(\n node,\n \"Id\",\n \"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\",\n );\n } else {\n this.idAttributes.some((idAttribute) => {\n attr = utils.findAttr(node, idAttribute);\n return !!attr; // This will break the loop as soon as a truthy attr is found.\n });\n }\n\n if (attr) {\n return attr.value;\n }\n\n //add the attribute\n const id = `_${this.id++}`;\n\n if (this.idMode === \"wssecurity\") {\n node.setAttributeNS(\n \"http://www.w3.org/2000/xmlns/\",\n \"xmlns:wsu\",\n \"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\",\n );\n node.setAttributeNS(\n \"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\",\n \"wsu:Id\",\n id,\n );\n } else {\n node.setAttribute(\"Id\", id);\n }\n\n return id;\n }\n\n /**\n * Create the SignedInfo element\n *\n */\n private createSignedInfo(doc, prefix) {\n if (typeof this.canonicalizationAlgorithm !== \"string\") {\n throw new Error(\n \"Missing canonicalizationAlgorithm when trying to create signed info for XML\",\n );\n }\n const transform = this.findCanonicalizationAlgorithm(this.canonicalizationAlgorithm);\n const algo = this.findSignatureAlgorithm(this.signatureAlgorithm);\n let currentPrefix;\n\n currentPrefix = prefix || \"\";\n currentPrefix = currentPrefix ? `${currentPrefix}:` : currentPrefix;\n\n let res = `<${currentPrefix}SignedInfo>`;\n res += `<${currentPrefix}CanonicalizationMethod Algorithm=\"${transform.getAlgorithmName()}\"`;\n if (utils.isArrayHasLength(this.inclusiveNamespacesPrefixList)) {\n res += \">\";\n res += `<InclusiveNamespaces PrefixList=\"${this.inclusiveNamespacesPrefixList.join(\n \" \",\n )}\" xmlns=\"${transform.getAlgorithmName()}\"/>`;\n res += `</${currentPrefix}CanonicalizationMethod>`;\n } else {\n res += \" />\";\n }\n res += `<${currentPrefix}SignatureMethod Algorithm=\"${algo.getAlgorithmName()}\" />`;\n\n res += this.createReferences(doc, prefix);\n res += `</${currentPrefix}SignedInfo>`;\n return res;\n }\n\n /**\n * Create the Signature element\n *\n */\n private createSignature(prefix?: string) {\n let xmlNsAttr = \"xmlns\";\n\n if (prefix) {\n xmlNsAttr += `:${prefix}`;\n prefix += \":\";\n } else {\n prefix = \"\";\n }\n\n const signatureValueXml = `<${prefix}SignatureValue>${this.signatureValue}</${prefix}SignatureValue>`;\n //the canonicalization requires to get a valid xml node.\n //we need to wrap the info in a dummy signature since it contains the default namespace.\n const dummySignatureWrapper = `<${prefix}Signature ${xmlNsAttr}=\"http://www.w3.org/2000/09/xmldsig#\">${signatureValueXml}</${prefix}Signature>`;\n\n const doc = new xmldom.DOMParser().parseFromString(dummySignatureWrapper);\n\n // Because we are using a dummy wrapper hack described above, we know there will be a `firstChild`\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return doc.documentElement.firstChild!;\n }\n\n /**\n * Returns just the signature part, must be called only after {@link computeSignature}\n *\n * @returns The signature XML.\n */\n getSignatureXml(): string {\n return this.signatureXml;\n }\n\n /**\n * Returns the original xml with Id attributes added on relevant elements (required for validation), must be called only after {@link computeSignature}\n *\n * @returns The original XML with IDs.\n */\n getOriginalXmlWithIds(): string {\n return this.originalXmlWithIds;\n }\n\n /**\n * Returns the original xml document with the signature in it, must be called only after {@link computeSignature}\n *\n * @returns The signed XML.\n */\n getSignedXml(): string {\n return this.signedXml;\n }\n}\n"]}
@@ -1,125 +0,0 @@
1
- /// <reference types="node" />
2
- import * as crypto from "crypto";
3
- export type ErrorFirstCallback<T> = (err: Error | null, result?: T) => void;
4
- export type CanonicalizationAlgorithmType = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" | "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments" | "http://www.w3.org/2001/10/xml-exc-c14n#" | "http://www.w3.org/2001/10/xml-exc-c14n#WithComments" | string;
5
- export type CanonicalizationOrTransformAlgorithmType = CanonicalizationAlgorithmType | "http://www.w3.org/2000/09/xmldsig#enveloped-signature";
6
- export type HashAlgorithmType = "http://www.w3.org/2000/09/xmldsig#sha1" | "http://www.w3.org/2001/04/xmlenc#sha256" | "http://www.w3.org/2001/04/xmlenc#sha512" | string;
7
- export type SignatureAlgorithmType = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" | "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" | "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512" | "http://www.w3.org/2000/09/xmldsig#hmac-sha1" | string;
8
- /**
9
- * @param cert the certificate as a string or array of strings (@see https://www.w3.org/TR/2008/REC-xmldsig-core-20080610/#sec-X509Data)
10
- * @param prefix an optional namespace alias to be used for the generated XML
11
- */
12
- export interface GetKeyInfoContentArgs {
13
- publicCert?: crypto.KeyLike;
14
- prefix?: string | null;
15
- }
16
- /**
17
- * Options for the SignedXml constructor.
18
- */
19
- export interface SignedXmlOptions {
20
- idMode?: "wssecurity";
21
- idAttribute?: string;
22
- privateKey?: crypto.KeyLike;
23
- publicCert?: crypto.KeyLike;
24
- signatureAlgorithm?: SignatureAlgorithmType;
25
- canonicalizationAlgorithm?: CanonicalizationAlgorithmType;
26
- inclusiveNamespacesPrefixList?: string | string[];
27
- implicitTransforms?: ReadonlyArray<CanonicalizationOrTransformAlgorithmType>;
28
- keyInfoAttributes?: Record<string, string>;
29
- getKeyInfoContent?(args?: GetKeyInfoContentArgs): string | null;
30
- getCertFromKeyInfo?(keyInfo?: Node | null): string | null;
31
- }
32
- export interface NamespacePrefix {
33
- prefix: string;
34
- namespaceURI: string;
35
- }
36
- export interface RenderedNamespace {
37
- rendered: string;
38
- newDefaultNs: string;
39
- }
40
- export interface CanonicalizationOrTransformationAlgorithmProcessOptions {
41
- defaultNs?: string;
42
- defaultNsForPrefix?: Record<string, string>;
43
- ancestorNamespaces?: NamespacePrefix[];
44
- signatureNode?: Node | null;
45
- inclusiveNamespacesPrefixList?: string[];
46
- }
47
- export interface ComputeSignatureOptionsLocation {
48
- reference?: string;
49
- action?: "append" | "prepend" | "before" | "after";
50
- }
51
- /**
52
- * Options for the computeSignature method.
53
- *
54
- * - `prefix` {String} Adds a prefix for the generated signature tags
55
- * - `attrs` {Object} A hash of attributes and values `attrName: value` to add to the signature root node
56
- * - `location` {{ reference: String, action: String }}
57
- * - `existingPrefixes` {Object} A hash of prefixes and namespaces `prefix: namespace` already in the xml
58
- * An object with a `reference` key which should
59
- * contain a XPath expression, an `action` key which
60
- * should contain one of the following values:
61
- * `append`, `prepend`, `before`, `after`
62
- */
63
- export interface ComputeSignatureOptions {
64
- prefix?: string;
65
- attrs?: Record<string, string>;
66
- location?: ComputeSignatureOptionsLocation;
67
- existingPrefixes?: Record<string, string>;
68
- }
69
- /**
70
- * Represents a reference node for XML digital signature.
71
- */
72
- export interface Reference {
73
- xpath?: string;
74
- transforms: ReadonlyArray<CanonicalizationOrTransformAlgorithmType>;
75
- digestAlgorithm: HashAlgorithmType;
76
- uri: string;
77
- digestValue?: unknown;
78
- inclusiveNamespacesPrefixList: string[];
79
- isEmptyUri: boolean;
80
- ancestorNamespaces?: NamespacePrefix[];
81
- validationError?: Error;
82
- getValidatedNode(xpathSelector?: string): Node | null;
83
- signedReference?: string;
84
- }
85
- /** Implement this to create a new CanonicalizationOrTransformationAlgorithm */
86
- export interface CanonicalizationOrTransformationAlgorithm {
87
- process(node: Node, options: CanonicalizationOrTransformationAlgorithmProcessOptions): Node | string;
88
- getAlgorithmName(): CanonicalizationOrTransformAlgorithmType;
89
- }
90
- /** Implement this to create a new HashAlgorithm */
91
- export interface HashAlgorithm {
92
- getAlgorithmName(): HashAlgorithmType;
93
- getHash(xml: string): string;
94
- }
95
- /** Extend this to create a new SignatureAlgorithm */
96
- export interface SignatureAlgorithm {
97
- /**
98
- * Sign the given string using the given key
99
- */
100
- getSignature(signedInfo: crypto.BinaryLike, privateKey: crypto.KeyLike): string;
101
- getSignature(signedInfo: crypto.BinaryLike, privateKey: crypto.KeyLike, callback?: ErrorFirstCallback<string>): void;
102
- /**
103
- * Verify the given signature of the given string using key
104
- *
105
- * @param key a public cert, public key, or private key can be passed here
106
- */
107
- verifySignature(material: string, key: crypto.KeyLike, signatureValue: string): boolean;
108
- verifySignature(material: string, key: crypto.KeyLike, signatureValue: string, callback?: ErrorFirstCallback<boolean>): void;
109
- getAlgorithmName(): SignatureAlgorithmType;
110
- }
111
- /** Implement this to create a new TransformAlgorithm */
112
- export interface TransformAlgorithm {
113
- getAlgorithmName(): CanonicalizationOrTransformAlgorithmType;
114
- process(node: Node): string;
115
- }
116
- /**
117
- * This function will add a callback version of a sync function.
118
- *
119
- * This follows the factory pattern.
120
- * Just call this function, passing the function that you'd like to add a callback version of.
121
- */
122
- export declare function createOptionalCallbackFunction<T, A extends unknown[]>(syncVersion: (...args: A) => T): {
123
- (...args: A): T;
124
- (...args: [...A, ErrorFirstCallback<T>]): void;
125
- };
@@ -1,57 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-unused-vars */
3
- // Type definitions for @node-saml/xml-crypto
4
- // Project: https://github.com/node-saml/xml-crypto#readme
5
- // Original definitions by: Eric Heikes <https://github.com/eheikes>
6
- // Max Chehab <https://github.com/maxchehab>
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.createOptionalCallbackFunction = void 0;
9
- /**
10
- * ### Sign
11
- * #### Properties
12
- * - {@link SignedXml#privateKey} [required]
13
- * - {@link SignedXml#publicCert} [optional]
14
- * - {@link SignedXml#signatureAlgorithm} [optional]
15
- * - {@link SignedXml#canonicalizationAlgorithm} [optional]
16
- * #### Api
17
- * - {@link SignedXml#addReference}
18
- * - {@link SignedXml#computeSignature}
19
- * - {@link SignedXml#getSignedXml}
20
- * - {@link SignedXml#getSignatureXml}
21
- * - {@link SignedXml#getOriginalXmlWithIds}
22
- *
23
- * ### Verify
24
- * #### Properties
25
- * - {@link SignedXml#publicCert} [optional]
26
- * #### Api
27
- * - {@link SignedXml#loadSignature}
28
- * - {@link SignedXml#checkSignature}
29
- */
30
- function isErrorFirstCallback(possibleCallback) {
31
- return typeof possibleCallback === "function";
32
- }
33
- /**
34
- * This function will add a callback version of a sync function.
35
- *
36
- * This follows the factory pattern.
37
- * Just call this function, passing the function that you'd like to add a callback version of.
38
- */
39
- function createOptionalCallbackFunction(syncVersion) {
40
- return ((...args) => {
41
- const possibleCallback = args[args.length - 1];
42
- if (isErrorFirstCallback(possibleCallback)) {
43
- try {
44
- const result = syncVersion(...args.slice(0, -1));
45
- possibleCallback(null, result);
46
- }
47
- catch (err) {
48
- possibleCallback(err instanceof Error ? err : new Error("Unknown error"));
49
- }
50
- }
51
- else {
52
- return syncVersion(...args);
53
- }
54
- });
55
- }
56
- exports.createOptionalCallbackFunction = createOptionalCallbackFunction;
57
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,6CAA6C;AAC7C,0DAA0D;AAC1D,oEAAoE;AACpE,qEAAqE;;;AA0LrE;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,SAAS,oBAAoB,CAC3B,gBAAyB;IAEzB,OAAO,OAAO,gBAAgB,KAAK,UAAU,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,8BAA8B,CAC5C,WAA8B;IAK9B,OAAO,CAAC,CAAC,GAAG,IAAuC,EAAE,EAAE;QACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,WAAW,CAAC,GAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAO,CAAC,CAAC;gBACxD,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gBAAgB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,CAAC,GAAI,IAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAGA,CAAC;AACJ,CAAC;AAtBD,wEAsBC","sourcesContent":["/* eslint-disable no-unused-vars */\n// Type definitions for @node-saml/xml-crypto\n// Project: https://github.com/node-saml/xml-crypto#readme\n// Original definitions by: Eric Heikes <https://github.com/eheikes>\n// Max Chehab <https://github.com/maxchehab>\n\n/// <reference types=\"node\" />\n\nimport * as crypto from \"crypto\";\n\nexport type ErrorFirstCallback<T> = (err: Error | null, result?: T) => void;\n\nexport type CanonicalizationAlgorithmType =\n | \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"\n | \"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"\n | \"http://www.w3.org/2001/10/xml-exc-c14n#\"\n | \"http://www.w3.org/2001/10/xml-exc-c14n#WithComments\"\n | string;\n\nexport type CanonicalizationOrTransformAlgorithmType =\n | CanonicalizationAlgorithmType\n | \"http://www.w3.org/2000/09/xmldsig#enveloped-signature\";\n\nexport type HashAlgorithmType =\n | \"http://www.w3.org/2000/09/xmldsig#sha1\"\n | \"http://www.w3.org/2001/04/xmlenc#sha256\"\n | \"http://www.w3.org/2001/04/xmlenc#sha512\"\n | string;\n\nexport type SignatureAlgorithmType =\n | \"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"\n | \"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\"\n | \"http://www.w3.org/2001/04/xmldsig-more#rsa-sha512\"\n | \"http://www.w3.org/2000/09/xmldsig#hmac-sha1\"\n | string;\n\n/**\n * @param cert the certificate as a string or array of strings (@see https://www.w3.org/TR/2008/REC-xmldsig-core-20080610/#sec-X509Data)\n * @param prefix an optional namespace alias to be used for the generated XML\n */\nexport interface GetKeyInfoContentArgs {\n publicCert?: crypto.KeyLike;\n prefix?: string | null;\n}\n\n/**\n * Options for the SignedXml constructor.\n */\nexport interface SignedXmlOptions {\n idMode?: \"wssecurity\";\n idAttribute?: string;\n privateKey?: crypto.KeyLike;\n publicCert?: crypto.KeyLike;\n signatureAlgorithm?: SignatureAlgorithmType;\n canonicalizationAlgorithm?: CanonicalizationAlgorithmType;\n inclusiveNamespacesPrefixList?: string | string[];\n implicitTransforms?: ReadonlyArray<CanonicalizationOrTransformAlgorithmType>;\n keyInfoAttributes?: Record<string, string>;\n getKeyInfoContent?(args?: GetKeyInfoContentArgs): string | null;\n getCertFromKeyInfo?(keyInfo?: Node | null): string | null;\n}\n\nexport interface NamespacePrefix {\n prefix: string;\n namespaceURI: string;\n}\n\nexport interface RenderedNamespace {\n rendered: string;\n newDefaultNs: string;\n}\n\nexport interface CanonicalizationOrTransformationAlgorithmProcessOptions {\n defaultNs?: string;\n defaultNsForPrefix?: Record<string, string>;\n ancestorNamespaces?: NamespacePrefix[];\n signatureNode?: Node | null;\n inclusiveNamespacesPrefixList?: string[];\n}\n\nexport interface ComputeSignatureOptionsLocation {\n reference?: string;\n action?: \"append\" | \"prepend\" | \"before\" | \"after\";\n}\n\n/**\n * Options for the computeSignature method.\n *\n * - `prefix` {String} Adds a prefix for the generated signature tags\n * - `attrs` {Object} A hash of attributes and values `attrName: value` to add to the signature root node\n * - `location` {{ reference: String, action: String }}\n * - `existingPrefixes` {Object} A hash of prefixes and namespaces `prefix: namespace` already in the xml\n * An object with a `reference` key which should\n * contain a XPath expression, an `action` key which\n * should contain one of the following values:\n * `append`, `prepend`, `before`, `after`\n */\nexport interface ComputeSignatureOptions {\n prefix?: string;\n attrs?: Record<string, string>;\n location?: ComputeSignatureOptionsLocation;\n existingPrefixes?: Record<string, string>;\n}\n\n/**\n * Represents a reference node for XML digital signature.\n */\nexport interface Reference {\n // The XPath expression that selects the data to be signed.\n xpath?: string;\n\n // An array of transforms to be applied to the data before signing.\n transforms: ReadonlyArray<CanonicalizationOrTransformAlgorithmType>;\n\n // The algorithm used to calculate the digest value of the data.\n digestAlgorithm: HashAlgorithmType;\n\n // The URI that identifies the data to be signed.\n uri: string;\n\n // Optional. The digest value of the referenced data.\n digestValue?: unknown;\n\n // A list of namespace prefixes to be treated as \"inclusive\" during canonicalization.\n inclusiveNamespacesPrefixList: string[];\n\n // Optional. Indicates whether the URI is empty.\n isEmptyUri: boolean;\n\n // Optional. The type of the reference node.\n ancestorNamespaces?: NamespacePrefix[];\n\n validationError?: Error;\n\n getValidatedNode(xpathSelector?: string): Node | null;\n\n signedReference?: string;\n}\n\n/** Implement this to create a new CanonicalizationOrTransformationAlgorithm */\nexport interface CanonicalizationOrTransformationAlgorithm {\n process(\n node: Node,\n options: CanonicalizationOrTransformationAlgorithmProcessOptions,\n ): Node | string;\n\n getAlgorithmName(): CanonicalizationOrTransformAlgorithmType;\n}\n\n/** Implement this to create a new HashAlgorithm */\nexport interface HashAlgorithm {\n getAlgorithmName(): HashAlgorithmType;\n\n getHash(xml: string): string;\n}\n\n/** Extend this to create a new SignatureAlgorithm */\nexport interface SignatureAlgorithm {\n /**\n * Sign the given string using the given key\n */\n getSignature(signedInfo: crypto.BinaryLike, privateKey: crypto.KeyLike): string;\n getSignature(\n signedInfo: crypto.BinaryLike,\n privateKey: crypto.KeyLike,\n callback?: ErrorFirstCallback<string>,\n ): void;\n /**\n * Verify the given signature of the given string using key\n *\n * @param key a public cert, public key, or private key can be passed here\n */\n verifySignature(material: string, key: crypto.KeyLike, signatureValue: string): boolean;\n verifySignature(\n material: string,\n key: crypto.KeyLike,\n signatureValue: string,\n callback?: ErrorFirstCallback<boolean>,\n ): void;\n\n getAlgorithmName(): SignatureAlgorithmType;\n}\n\n/** Implement this to create a new TransformAlgorithm */\nexport interface TransformAlgorithm {\n getAlgorithmName(): CanonicalizationOrTransformAlgorithmType;\n\n process(node: Node): string;\n}\n\n/**\n * ### Sign\n * #### Properties\n * - {@link SignedXml#privateKey} [required]\n * - {@link SignedXml#publicCert} [optional]\n * - {@link SignedXml#signatureAlgorithm} [optional]\n * - {@link SignedXml#canonicalizationAlgorithm} [optional]\n * #### Api\n * - {@link SignedXml#addReference}\n * - {@link SignedXml#computeSignature}\n * - {@link SignedXml#getSignedXml}\n * - {@link SignedXml#getSignatureXml}\n * - {@link SignedXml#getOriginalXmlWithIds}\n *\n * ### Verify\n * #### Properties\n * - {@link SignedXml#publicCert} [optional]\n * #### Api\n * - {@link SignedXml#loadSignature}\n * - {@link SignedXml#checkSignature}\n */\n\nfunction isErrorFirstCallback<T>(\n possibleCallback: unknown,\n): possibleCallback is ErrorFirstCallback<T> {\n return typeof possibleCallback === \"function\";\n}\n\n/**\n * This function will add a callback version of a sync function.\n *\n * This follows the factory pattern.\n * Just call this function, passing the function that you'd like to add a callback version of.\n */\nexport function createOptionalCallbackFunction<T, A extends unknown[]>(\n syncVersion: (...args: A) => T,\n): {\n (...args: A): T;\n (...args: [...A, ErrorFirstCallback<T>]): void;\n} {\n return ((...args: A | [...A, ErrorFirstCallback<T>]) => {\n const possibleCallback = args[args.length - 1];\n if (isErrorFirstCallback(possibleCallback)) {\n try {\n const result = syncVersion(...(args.slice(0, -1) as A));\n possibleCallback(null, result);\n } catch (err) {\n possibleCallback(err instanceof Error ? err : new Error(\"Unknown error\"));\n }\n } else {\n return syncVersion(...(args as A));\n }\n }) as {\n (...args: A): T;\n (...args: [...A, ErrorFirstCallback<T>]): void;\n };\n}\n"]}
@@ -1,65 +0,0 @@
1
- /// <reference types="node" />
2
- import type { NamespacePrefix } from "./types";
3
- export declare function isArrayHasLength(array: unknown): array is unknown[];
4
- export declare function findAttr(element: Element, localName: string, namespace?: string): Attr | null;
5
- export declare function findChildren(node: Node | Document, localName: string, namespace?: string): Element[];
6
- /** @deprecated */
7
- export declare function findChilds(node: Node | Document, localName: string, namespace?: string): Element[];
8
- export declare function encodeSpecialCharactersInAttribute(attributeValue: any): any;
9
- export declare function encodeSpecialCharactersInText(text: string): string;
10
- /**
11
- * PEM format has wide range of usages, but this library
12
- * is enforcing RFC7468 which focuses on PKIX, PKCS and CMS.
13
- *
14
- * https://www.rfc-editor.org/rfc/rfc7468
15
- *
16
- * PEM_FORMAT_REGEX is validating given PEM file against RFC7468 'stricttextualmsg' definition.
17
- *
18
- * With few exceptions;
19
- * - 'posteb' MAY have 'eol', but it is not mandatory.
20
- * - 'preeb' and 'posteb' lines are limited to 64 characters, but
21
- * should not cause any issues in context of PKIX, PKCS and CMS.
22
- */
23
- export declare const PEM_FORMAT_REGEX: RegExp;
24
- export declare const EXTRACT_X509_CERTS: RegExp;
25
- export declare const BASE64_REGEX: RegExp;
26
- /**
27
- * -----BEGIN [LABEL]-----
28
- * base64([DATA])
29
- * -----END [LABEL]-----
30
- *
31
- * Above is shown what PEM file looks like. As can be seen, base64 data
32
- * can be in single line or multiple lines.
33
- *
34
- * This function normalizes PEM presentation to;
35
- * - contain PEM header and footer as they are given
36
- * - normalize line endings to '\n'
37
- * - normalize line length to maximum of 64 characters
38
- * - ensure that 'preeb' has line ending '\n'
39
- *
40
- * With a couple of notes:
41
- * - 'eol' is normalized to '\n'
42
- *
43
- * @param pem The PEM string to normalize to RFC7468 'stricttextualmsg' definition
44
- */
45
- export declare function normalizePem(pem: string): string;
46
- /**
47
- * @param pem The PEM-encoded base64 certificate to strip headers from
48
- */
49
- export declare function pemToDer(pem: string): Buffer;
50
- /**
51
- * @param der The DER-encoded base64 certificate to add PEM headers too
52
- * @param pemLabel The label of the header and footer to add
53
- */
54
- export declare function derToPem(der: string | Buffer, pemLabel?: "CERTIFICATE" | "PRIVATE KEY" | "RSA PUBLIC KEY"): string;
55
- /**
56
- * Extract ancestor namespaces in order to import it to root of document subset
57
- * which is being canonicalized for non-exclusive c14n.
58
- *
59
- * @param doc - Usually a product from `new xmldom.DOMParser().parseFromString()`
60
- * @param docSubsetXpath - xpath query to get document subset being canonicalized
61
- * @param namespaceResolver - xpath namespace resolver
62
- * @returns i.e. [{prefix: "saml", namespaceURI: "urn:oasis:names:tc:SAML:2.0:assertion"}]
63
- */
64
- export declare function findAncestorNs(doc: Document, docSubsetXpath?: string, namespaceResolver?: XPathNSResolver): NamespacePrefix[];
65
- export declare function validateDigestValue(digest: any, expectedDigest: any): boolean;