@sudoplatform/sudo-common 7.0.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/cjs/configurationManager/defaultConfigurationManager.d.ts +123 -0
  2. package/cjs/configurationManager/defaultConfigurationManager.js +122 -0
  3. package/cjs/configurationManager/defaultConfigurationManager.js.map +1 -0
  4. package/cjs/errors/error.d.ts +263 -0
  5. package/cjs/errors/error.js +442 -0
  6. package/cjs/errors/error.js.map +1 -0
  7. package/cjs/index.d.ts +9 -0
  8. package/cjs/index.js +13 -0
  9. package/cjs/index.js.map +1 -0
  10. package/cjs/logging/bunyanLogger.d.ts +8 -0
  11. package/cjs/logging/bunyanLogger.js +36 -0
  12. package/cjs/logging/bunyanLogger.js.map +1 -0
  13. package/cjs/logging/logger.d.ts +87 -0
  14. package/cjs/logging/logger.js +77 -0
  15. package/cjs/logging/logger.js.map +1 -0
  16. package/cjs/sudoKeyArchive/index.d.ts +4 -0
  17. package/cjs/sudoKeyArchive/index.js +8 -0
  18. package/cjs/sudoKeyArchive/index.js.map +1 -0
  19. package/cjs/sudoKeyArchive/keyArchive.d.ts +137 -0
  20. package/cjs/sudoKeyArchive/keyArchive.js +84 -0
  21. package/cjs/sudoKeyArchive/keyArchive.js.map +1 -0
  22. package/cjs/sudoKeyArchive/keyInfo.d.ts +41 -0
  23. package/cjs/sudoKeyArchive/keyInfo.js +17 -0
  24. package/cjs/sudoKeyArchive/keyInfo.js.map +1 -0
  25. package/cjs/sudoKeyArchive/keyType.d.ts +13 -0
  26. package/cjs/sudoKeyArchive/keyType.js +39 -0
  27. package/cjs/sudoKeyArchive/keyType.js.map +1 -0
  28. package/cjs/sudoKeyArchive/sudoKeyArchive.d.ts +190 -0
  29. package/cjs/sudoKeyArchive/sudoKeyArchive.js +373 -0
  30. package/cjs/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
  31. package/cjs/sudoKeyManager/index.d.ts +4 -0
  32. package/cjs/sudoKeyManager/index.js +8 -0
  33. package/cjs/sudoKeyManager/index.js.map +1 -0
  34. package/cjs/sudoKeyManager/keyData.d.ts +56 -0
  35. package/cjs/sudoKeyManager/keyData.js +46 -0
  36. package/cjs/sudoKeyManager/keyData.js.map +1 -0
  37. package/cjs/sudoKeyManager/publicKey.d.ts +8 -0
  38. package/cjs/sudoKeyManager/publicKey.js +9 -0
  39. package/cjs/sudoKeyManager/publicKey.js.map +1 -0
  40. package/cjs/sudoKeyManager/sudoCryptoProvider.d.ts +324 -0
  41. package/cjs/sudoKeyManager/sudoCryptoProvider.js +12 -0
  42. package/cjs/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
  43. package/cjs/sudoKeyManager/sudoKeyManager.d.ts +344 -0
  44. package/cjs/sudoKeyManager/sudoKeyManager.js +140 -0
  45. package/cjs/sudoKeyManager/sudoKeyManager.js.map +1 -0
  46. package/cjs/types/types.d.ts +115 -0
  47. package/cjs/types/types.js +45 -0
  48. package/cjs/types/types.js.map +1 -0
  49. package/cjs/utils/base64.d.ts +44 -0
  50. package/cjs/utils/base64.js +71 -0
  51. package/cjs/utils/base64.js.map +1 -0
  52. package/cjs/utils/buffer.d.ts +13 -0
  53. package/cjs/utils/buffer.js +37 -0
  54. package/cjs/utils/buffer.js.map +1 -0
  55. package/cjs/utils/stream.d.ts +6 -0
  56. package/cjs/utils/stream.js +70 -0
  57. package/cjs/utils/stream.js.map +1 -0
  58. package/lib/configurationManager/defaultConfigurationManager.js +106 -158
  59. package/lib/configurationManager/defaultConfigurationManager.js.map +1 -0
  60. package/lib/errors/error.js +226 -438
  61. package/lib/errors/error.js.map +1 -0
  62. package/lib/index.d.ts +1 -0
  63. package/lib/index.js +10 -109
  64. package/lib/index.js.map +1 -0
  65. package/lib/logging/bunyanLogger.js +29 -41
  66. package/lib/logging/bunyanLogger.js.map +1 -0
  67. package/lib/logging/logger.js +66 -92
  68. package/lib/logging/logger.js.map +1 -0
  69. package/lib/sudoKeyArchive/index.js +5 -57
  70. package/lib/sudoKeyArchive/index.js.map +1 -0
  71. package/lib/sudoKeyArchive/keyArchive.d.ts +8 -8
  72. package/lib/sudoKeyArchive/keyArchive.js +69 -96
  73. package/lib/sudoKeyArchive/keyArchive.js.map +1 -0
  74. package/lib/sudoKeyArchive/keyInfo.js +11 -49
  75. package/lib/sudoKeyArchive/keyInfo.js.map +1 -0
  76. package/lib/sudoKeyArchive/keyType.js +27 -37
  77. package/lib/sudoKeyArchive/keyType.js.map +1 -0
  78. package/lib/sudoKeyArchive/sudoKeyArchive.js +351 -444
  79. package/lib/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
  80. package/lib/sudoKeyManager/index.js +5 -57
  81. package/lib/sudoKeyManager/index.js.map +1 -0
  82. package/lib/sudoKeyManager/keyData.js +38 -33
  83. package/lib/sudoKeyManager/keyData.js.map +1 -0
  84. package/lib/sudoKeyManager/publicKey.js +5 -12
  85. package/lib/sudoKeyManager/publicKey.js.map +1 -0
  86. package/lib/sudoKeyManager/sudoCryptoProvider.js +8 -26
  87. package/lib/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
  88. package/lib/sudoKeyManager/sudoKeyManager.js +135 -173
  89. package/lib/sudoKeyManager/sudoKeyManager.js.map +1 -0
  90. package/lib/types/types.js +27 -33
  91. package/lib/types/types.js.map +1 -0
  92. package/lib/utils/base64.d.ts +35 -0
  93. package/lib/utils/base64.js +63 -28
  94. package/lib/utils/base64.js.map +1 -0
  95. package/lib/utils/buffer.js +28 -46
  96. package/lib/utils/buffer.js.map +1 -0
  97. package/lib/utils/stream.d.ts +6 -0
  98. package/lib/utils/stream.js +63 -0
  99. package/lib/utils/stream.js.map +1 -0
  100. package/package.json +36 -29
  101. package/.babelrc +0 -10
  102. package/.eslintrc.js +0 -91
  103. package/.gitignore +0 -14
  104. package/.gitlab-ci.yml +0 -101
  105. package/.npmignore +0 -1
  106. package/.prettierignore +0 -3
  107. package/.prettierrc.js +0 -7
  108. package/.publisher.json +0 -7
  109. package/.vscode/settings.json +0 -5
  110. package/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  111. package/.yarnrc +0 -5
  112. package/dependencies-report.json +0 -640
  113. package/docs/.nojekyll +0 -1
  114. package/docs/assets/highlight.css +0 -57
  115. package/docs/assets/main.js +0 -54
  116. package/docs/assets/search.js +0 -1
  117. package/docs/assets/style.css +0 -1224
  118. package/docs/assets/widgets.png +0 -0
  119. package/docs/assets/widgets@2x.png +0 -0
  120. package/docs/classes/AccountLockedError.html +0 -163
  121. package/docs/classes/AuthenticationError.html +0 -169
  122. package/docs/classes/Base64.html +0 -134
  123. package/docs/classes/Buffer.html +0 -158
  124. package/docs/classes/ConfigurationNotSetError.html +0 -164
  125. package/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  126. package/docs/classes/DecodeError.html +0 -168
  127. package/docs/classes/DefaultConfigurationManager.html +0 -213
  128. package/docs/classes/DefaultLogger.html +0 -291
  129. package/docs/classes/DefaultSudoKeyArchive.html +0 -363
  130. package/docs/classes/DefaultSudoKeyManager.html +0 -814
  131. package/docs/classes/FatalError.html +0 -169
  132. package/docs/classes/IllegalArgumentError.html +0 -168
  133. package/docs/classes/IllegalStateError.html +0 -169
  134. package/docs/classes/InsufficientEntitlementsError.html +0 -164
  135. package/docs/classes/InvalidOwnershipProofError.html +0 -163
  136. package/docs/classes/InvalidTokenError.html +0 -163
  137. package/docs/classes/KeyArchiveDecodingError.html +0 -168
  138. package/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  139. package/docs/classes/KeyArchiveMissingError.html +0 -168
  140. package/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  141. package/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  142. package/docs/classes/KeyArchiveTypeError.html +0 -168
  143. package/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  144. package/docs/classes/KeyArchiveVersionError.html +0 -168
  145. package/docs/classes/KeyNotFoundError.html +0 -168
  146. package/docs/classes/KeyStoreNotExportableError.html +0 -168
  147. package/docs/classes/LimitExceededError.html +0 -164
  148. package/docs/classes/NoEntitlementsError.html +0 -163
  149. package/docs/classes/NotAuthorizedError.html +0 -169
  150. package/docs/classes/NotRegisteredError.html +0 -168
  151. package/docs/classes/NotSignedInError.html +0 -164
  152. package/docs/classes/OperationNotImplementedError.html +0 -168
  153. package/docs/classes/RegisterError.html +0 -169
  154. package/docs/classes/RequestFailedError.html +0 -189
  155. package/docs/classes/ServiceError.html +0 -170
  156. package/docs/classes/SignOutError.html +0 -168
  157. package/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  158. package/docs/classes/UnknownGraphQLError.html +0 -169
  159. package/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  160. package/docs/classes/UserNotConfirmedError.html +0 -164
  161. package/docs/classes/VersionMismatchError.html +0 -166
  162. package/docs/enums/CachePolicy.html +0 -72
  163. package/docs/enums/EncryptionAlgorithm.html +0 -80
  164. package/docs/enums/KeyArchiveKeyType.html +0 -86
  165. package/docs/enums/KeyDataKeyFormat.html +0 -92
  166. package/docs/enums/KeyDataKeyType.html +0 -85
  167. package/docs/enums/ListOperationResultStatus.html +0 -85
  168. package/docs/enums/PublicKeyFormat.html +0 -68
  169. package/docs/functions/isAppSyncNetworkError.html +0 -147
  170. package/docs/functions/isInsecureKeyArchive.html +0 -147
  171. package/docs/functions/isSecureKeyArchive.html +0 -147
  172. package/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  173. package/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  174. package/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  175. package/docs/functions/mapGraphQLToClientError.html +0 -154
  176. package/docs/functions/mapNetworkErrorToClientError.html +0 -154
  177. package/docs/index.html +0 -146
  178. package/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  179. package/docs/interfaces/BooleanFilter.html +0 -75
  180. package/docs/interfaces/ConfigurationManager.html +0 -200
  181. package/docs/interfaces/KeyData.html +0 -106
  182. package/docs/interfaces/ListOperationFailureResult.html +0 -76
  183. package/docs/interfaces/ListOperationPartialResult.html +0 -102
  184. package/docs/interfaces/ListOperationSuccessResult.html +0 -90
  185. package/docs/interfaces/ListOutput.html +0 -80
  186. package/docs/interfaces/Logger.html +0 -251
  187. package/docs/interfaces/Owner.html +0 -72
  188. package/docs/interfaces/PublicKey.html +0 -72
  189. package/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  190. package/docs/interfaces/StringFilter.html +0 -82
  191. package/docs/interfaces/SudoCryptoProvider.html +0 -865
  192. package/docs/interfaces/SudoKeyArchive.html +0 -257
  193. package/docs/interfaces/SudoKeyManager.html +0 -848
  194. package/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  195. package/docs/interfaces/ValidationResult.html +0 -83
  196. package/docs/modules.html +0 -248
  197. package/docs/types/AppSyncError.html +0 -138
  198. package/docs/types/AppSyncNetworkError.html +0 -138
  199. package/docs/types/InsecureKeyArchive.html +0 -138
  200. package/docs/types/KeyArchive.html +0 -138
  201. package/docs/types/KeyArchiveKeyInfo.html +0 -154
  202. package/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  203. package/docs/types/ListOperationResult.html +0 -148
  204. package/docs/types/SecureKeyArchive.html +0 -138
  205. package/docs/types/Subset.html +0 -144
  206. package/docs/types/UnrecognizedKeyArchive.html +0 -138
  207. package/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  208. package/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  209. package/docs/variables/InsecureKeyArchiveType.html +0 -138
  210. package/docs/variables/KeyArchiveCodec.html +0 -138
  211. package/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  212. package/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  213. package/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  214. package/docs/variables/SecureKeyArchiveCodec.html +0 -138
  215. package/docs/variables/SecureKeyArchiveType.html +0 -138
  216. package/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  217. package/github/.babelrc +0 -10
  218. package/github/.eslintrc.js +0 -91
  219. package/github/.gitignore +0 -14
  220. package/github/.gitlab-ci.yml +0 -101
  221. package/github/.npmignore +0 -1
  222. package/github/.prettierignore +0 -3
  223. package/github/.prettierrc.js +0 -7
  224. package/github/.publisher.json +0 -7
  225. package/github/.vscode/settings.json +0 -5
  226. package/github/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  227. package/github/.yarnrc +0 -5
  228. package/github/CHANGELOG.md +0 -51
  229. package/github/README.md +0 -8
  230. package/github/bin/outdated-with-suppression.sh +0 -203
  231. package/github/bin/suppress-audit.sh +0 -15
  232. package/github/bin/suppress-outdated.sh +0 -60
  233. package/github/bin/yarn-audit-with-suppression.sh +0 -19
  234. package/github/docs/.nojekyll +0 -1
  235. package/github/docs/assets/highlight.css +0 -57
  236. package/github/docs/assets/main.js +0 -54
  237. package/github/docs/assets/search.js +0 -1
  238. package/github/docs/assets/style.css +0 -1224
  239. package/github/docs/assets/widgets.png +0 -0
  240. package/github/docs/assets/widgets@2x.png +0 -0
  241. package/github/docs/classes/AccountLockedError.html +0 -163
  242. package/github/docs/classes/AuthenticationError.html +0 -169
  243. package/github/docs/classes/Base64.html +0 -134
  244. package/github/docs/classes/Buffer.html +0 -158
  245. package/github/docs/classes/ConfigurationNotSetError.html +0 -164
  246. package/github/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  247. package/github/docs/classes/DecodeError.html +0 -168
  248. package/github/docs/classes/DefaultConfigurationManager.html +0 -213
  249. package/github/docs/classes/DefaultLogger.html +0 -291
  250. package/github/docs/classes/DefaultSudoKeyArchive.html +0 -363
  251. package/github/docs/classes/DefaultSudoKeyManager.html +0 -814
  252. package/github/docs/classes/FatalError.html +0 -169
  253. package/github/docs/classes/IllegalArgumentError.html +0 -168
  254. package/github/docs/classes/IllegalStateError.html +0 -169
  255. package/github/docs/classes/InsufficientEntitlementsError.html +0 -164
  256. package/github/docs/classes/InvalidOwnershipProofError.html +0 -163
  257. package/github/docs/classes/InvalidTokenError.html +0 -163
  258. package/github/docs/classes/KeyArchiveDecodingError.html +0 -168
  259. package/github/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  260. package/github/docs/classes/KeyArchiveMissingError.html +0 -168
  261. package/github/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  262. package/github/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  263. package/github/docs/classes/KeyArchiveTypeError.html +0 -168
  264. package/github/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  265. package/github/docs/classes/KeyArchiveVersionError.html +0 -168
  266. package/github/docs/classes/KeyNotFoundError.html +0 -168
  267. package/github/docs/classes/KeyStoreNotExportableError.html +0 -168
  268. package/github/docs/classes/LimitExceededError.html +0 -164
  269. package/github/docs/classes/NoEntitlementsError.html +0 -163
  270. package/github/docs/classes/NotAuthorizedError.html +0 -169
  271. package/github/docs/classes/NotRegisteredError.html +0 -168
  272. package/github/docs/classes/NotSignedInError.html +0 -164
  273. package/github/docs/classes/OperationNotImplementedError.html +0 -168
  274. package/github/docs/classes/RegisterError.html +0 -169
  275. package/github/docs/classes/RequestFailedError.html +0 -189
  276. package/github/docs/classes/ServiceError.html +0 -170
  277. package/github/docs/classes/SignOutError.html +0 -168
  278. package/github/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  279. package/github/docs/classes/UnknownGraphQLError.html +0 -169
  280. package/github/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  281. package/github/docs/classes/UserNotConfirmedError.html +0 -164
  282. package/github/docs/classes/VersionMismatchError.html +0 -166
  283. package/github/docs/enums/CachePolicy.html +0 -72
  284. package/github/docs/enums/EncryptionAlgorithm.html +0 -80
  285. package/github/docs/enums/KeyArchiveKeyType.html +0 -86
  286. package/github/docs/enums/KeyDataKeyFormat.html +0 -92
  287. package/github/docs/enums/KeyDataKeyType.html +0 -85
  288. package/github/docs/enums/ListOperationResultStatus.html +0 -85
  289. package/github/docs/enums/PublicKeyFormat.html +0 -68
  290. package/github/docs/functions/isAppSyncNetworkError.html +0 -147
  291. package/github/docs/functions/isInsecureKeyArchive.html +0 -147
  292. package/github/docs/functions/isSecureKeyArchive.html +0 -147
  293. package/github/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  294. package/github/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  295. package/github/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  296. package/github/docs/functions/mapGraphQLToClientError.html +0 -154
  297. package/github/docs/functions/mapNetworkErrorToClientError.html +0 -154
  298. package/github/docs/index.html +0 -146
  299. package/github/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  300. package/github/docs/interfaces/BooleanFilter.html +0 -75
  301. package/github/docs/interfaces/ConfigurationManager.html +0 -200
  302. package/github/docs/interfaces/KeyData.html +0 -106
  303. package/github/docs/interfaces/ListOperationFailureResult.html +0 -76
  304. package/github/docs/interfaces/ListOperationPartialResult.html +0 -102
  305. package/github/docs/interfaces/ListOperationSuccessResult.html +0 -90
  306. package/github/docs/interfaces/ListOutput.html +0 -80
  307. package/github/docs/interfaces/Logger.html +0 -251
  308. package/github/docs/interfaces/Owner.html +0 -72
  309. package/github/docs/interfaces/PublicKey.html +0 -72
  310. package/github/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  311. package/github/docs/interfaces/StringFilter.html +0 -82
  312. package/github/docs/interfaces/SudoCryptoProvider.html +0 -865
  313. package/github/docs/interfaces/SudoKeyArchive.html +0 -257
  314. package/github/docs/interfaces/SudoKeyManager.html +0 -848
  315. package/github/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  316. package/github/docs/interfaces/ValidationResult.html +0 -83
  317. package/github/docs/modules.html +0 -248
  318. package/github/docs/types/AppSyncError.html +0 -138
  319. package/github/docs/types/AppSyncNetworkError.html +0 -138
  320. package/github/docs/types/InsecureKeyArchive.html +0 -138
  321. package/github/docs/types/KeyArchive.html +0 -138
  322. package/github/docs/types/KeyArchiveKeyInfo.html +0 -154
  323. package/github/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  324. package/github/docs/types/ListOperationResult.html +0 -148
  325. package/github/docs/types/SecureKeyArchive.html +0 -138
  326. package/github/docs/types/Subset.html +0 -144
  327. package/github/docs/types/UnrecognizedKeyArchive.html +0 -138
  328. package/github/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  329. package/github/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  330. package/github/docs/variables/InsecureKeyArchiveType.html +0 -138
  331. package/github/docs/variables/KeyArchiveCodec.html +0 -138
  332. package/github/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  333. package/github/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  334. package/github/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  335. package/github/docs/variables/SecureKeyArchiveCodec.html +0 -138
  336. package/github/docs/variables/SecureKeyArchiveType.html +0 -138
  337. package/github/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  338. package/github/jest.config.json +0 -14
  339. package/github/package.json +0 -91
  340. package/github/src/configurationManager/defaultConfigurationManager.ts +0 -281
  341. package/github/src/errors/error.ts +0 -469
  342. package/github/src/index.ts +0 -8
  343. package/github/src/logging/bunyanLogger.ts +0 -47
  344. package/github/src/logging/logger.ts +0 -164
  345. package/github/src/sudoKeyArchive/index.ts +0 -4
  346. package/github/src/sudoKeyArchive/keyArchive.ts +0 -120
  347. package/github/src/sudoKeyArchive/keyInfo.ts +0 -47
  348. package/github/src/sudoKeyArchive/keyType.ts +0 -50
  349. package/github/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  350. package/github/src/sudoKeyManager/index.ts +0 -4
  351. package/github/src/sudoKeyManager/keyData.ts +0 -60
  352. package/github/src/sudoKeyManager/publicKey.ts +0 -9
  353. package/github/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  354. package/github/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  355. package/github/src/types/types.ts +0 -129
  356. package/github/src/utils/base64.ts +0 -21
  357. package/github/src/utils/buffer.ts +0 -39
  358. package/github/test/integration/defaultConfigurationManager.spec.ts +0 -85
  359. package/github/test/matchers.ts +0 -122
  360. package/github/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  361. package/github/test/unit/errors/error.spec.ts +0 -115
  362. package/github/test/unit/keyType.spec.ts +0 -54
  363. package/github/test/unit/logging/logger.spec.ts +0 -182
  364. package/github/test/unit/sudoKeyArchive.spec.ts +0 -1609
  365. package/github/test/unit/sudoKeyManager.spec.ts +0 -1045
  366. package/github/test/unit/utils/base64.spec.ts +0 -30
  367. package/github/test/unit/utils/buffer.spec.ts +0 -45
  368. package/github/test/unit/utils/listOperationResult.spec.ts +0 -84
  369. package/github/tsconfig.json +0 -20
  370. package/github/tsconfig.test.json +0 -7
  371. package/github/yarn.lock +0 -5922
  372. package/jest.config.json +0 -14
  373. package/src/configurationManager/defaultConfigurationManager.ts +0 -281
  374. package/src/errors/error.ts +0 -469
  375. package/src/index.ts +0 -8
  376. package/src/logging/bunyanLogger.ts +0 -47
  377. package/src/logging/logger.ts +0 -164
  378. package/src/sudoKeyArchive/index.ts +0 -4
  379. package/src/sudoKeyArchive/keyArchive.ts +0 -120
  380. package/src/sudoKeyArchive/keyInfo.ts +0 -47
  381. package/src/sudoKeyArchive/keyType.ts +0 -50
  382. package/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  383. package/src/sudoKeyManager/index.ts +0 -4
  384. package/src/sudoKeyManager/keyData.ts +0 -60
  385. package/src/sudoKeyManager/publicKey.ts +0 -9
  386. package/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  387. package/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  388. package/src/types/types.ts +0 -129
  389. package/src/utils/base64.ts +0 -21
  390. package/src/utils/buffer.ts +0 -39
  391. package/test/integration/defaultConfigurationManager.spec.ts +0 -85
  392. package/test/matchers.ts +0 -122
  393. package/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  394. package/test/unit/errors/error.spec.ts +0 -115
  395. package/test/unit/keyType.spec.ts +0 -54
  396. package/test/unit/logging/logger.spec.ts +0 -182
  397. package/test/unit/sudoKeyArchive.spec.ts +0 -1609
  398. package/test/unit/sudoKeyManager.spec.ts +0 -1045
  399. package/test/unit/utils/base64.spec.ts +0 -30
  400. package/test/unit/utils/buffer.spec.ts +0 -45
  401. package/test/unit/utils/listOperationResult.spec.ts +0 -84
  402. package/tsconfig.json +0 -20
  403. package/tsconfig.test.json +0 -7
  404. package/yarn.lock +0 -5922
@@ -1,609 +0,0 @@
1
- import { Buffer as BufferUtil } from '../utils/buffer'
2
- import { KeyData } from './keyData'
3
- import { PublicKey } from './publicKey'
4
- import {
5
- AsymmetricEncryptionOptions,
6
- SudoCryptoProvider,
7
- SymmetricEncryptionOptions,
8
- } from './sudoCryptoProvider'
9
-
10
- /**
11
- * Interface for a set of methods for securely storing keys and performing
12
- * cryptographic operations.
13
- */
14
- export interface SudoKeyManager {
15
- readonly namespace: string
16
- readonly serviceName: string
17
- /**
18
- * Adds as password to the secure store.
19
- *
20
- * @param password
21
- * @param name
22
- */
23
- addPassword(password: ArrayBuffer, name: string): Promise<void>
24
-
25
- /**
26
- * Retrieves a password from the secure store.
27
- *
28
- * @param name The name of the password to retrieve
29
- *
30
- * @returns The password or undefined if the password was not found.
31
- */
32
- getPassword(name: string): Promise<ArrayBuffer | undefined>
33
-
34
- /**
35
- * Deletes a password from the secure store.
36
- *
37
- * @param name
38
- */
39
- deletePassword(name: string): Promise<void>
40
-
41
- /**
42
- * Updates a password stored in the secure store.
43
- *
44
- * @param password
45
- * @param name
46
- */
47
- updatePassword(password: ArrayBuffer, name: string): Promise<void>
48
-
49
- /**
50
- * Adds a symmetric key to the secure store.
51
- *
52
- * @param key The symmetric key.
53
- * @param name The name for the symmetric key.
54
- */
55
- addSymmetricKey(key: ArrayBuffer, name: string): Promise<void>
56
-
57
- /**
58
- * Retrieves a symmetric key from the secure store.
59
- *
60
- * @param name The name of the symmetric key.
61
- *
62
- * @returns The symmetric key or undefined if not found.
63
- */
64
- getSymmetricKey(name: string): Promise<ArrayBuffer | undefined>
65
-
66
- /**
67
- * Checks to see if the specified symmetric key exists.
68
- *
69
- * @param name The name of the symmetric key.
70
- */
71
- doesSymmetricKeyExist(name: string): Promise<boolean>
72
-
73
- /**
74
- * Deletes a symmetric key from the secure store.
75
- *
76
- * @param name The name of the symmetric key.
77
- */
78
- deleteSymmetricKey(name: string): Promise<void>
79
-
80
- /**
81
- * Adds a private key to the secure store.
82
- *
83
- * @param key The private key to store securely.
84
- * @param name The name of the private key to be stored.
85
- */
86
- addPrivateKey(key: ArrayBuffer, name: string): Promise<void>
87
-
88
- /**
89
- * Retrieves a private key from the secure store.
90
- *
91
- * @param name The name of the private key to be retrieved.
92
- *
93
- * @returns Requested private key or undefined if the key was not found.
94
- */
95
- getPrivateKey(name: string): Promise<ArrayBuffer | undefined>
96
-
97
- /**
98
- * Checks to see if the specified private key exists.
99
- *
100
- * @param name The name of the private key.
101
- */
102
- doesPrivateKeyExist(name: string): Promise<boolean>
103
-
104
- /**
105
- * Adds a public key to the secure store.
106
- *
107
- * The format of the public key should be SubjectPublicKeyInfo (spki)
108
- *
109
- * @param key The public key to store securely.
110
- * @param name The name of the public key to be stored.
111
- */
112
- addPublicKey(key: ArrayBuffer, name: string): Promise<void>
113
-
114
- /**
115
- * Deletes the specified public key from the secure store.
116
- *
117
- * @param name The name of the public key to be removed.
118
- */
119
- deletePublicKey(name: string): Promise<void>
120
-
121
- /**
122
- * Retrieves the public key from the secure store.
123
- *
124
- * The format of the public key is SubjectPublicKeyInfo (spki)
125
- *
126
- * @param name The name of the public key.
127
- *
128
- * @returns The public key or undefined if the key was not found.
129
- */
130
- getPublicKey(name: string): Promise<PublicKey | undefined>
131
-
132
- /**
133
- * Deletes a key pair from the secure store.
134
- *
135
- * @param name The name of the key pair to be deleted.
136
- */
137
- deleteKeyPair(name: string): Promise<void>
138
-
139
- /**
140
- * Generates a signature for the given data with the specified private key.
141
- *
142
- * @param name The name of the private key to use for generation.
143
- * @param data The data to sign.
144
- *
145
- * @returns Data signature or undefined if the private key is not found.
146
- */
147
- generateSignatureWithPrivateKey(
148
- name: string,
149
- data: ArrayBuffer,
150
- ): Promise<ArrayBuffer>
151
-
152
- /**
153
- * Verifies the given data against the provided signature using the specified public key.
154
- *
155
- * @param name The name of the public key to use for validation.
156
- * @param data The data to verify
157
- * @param signature The signature to verify against
158
- *
159
- * @returns True if the data and signature could be successfully verified
160
- */
161
- verifySignatureWithPublicKey(
162
- name: string,
163
- data: ArrayBuffer,
164
- signature: ArrayBuffer,
165
- ): Promise<boolean>
166
-
167
- /**
168
- * @deprecated Use version with `options` param.
169
- *
170
- * Encrypts the given data with the specified key
171
- *
172
- * @param name The name of the symmetric key to use to encrypt.
173
- * @param data Data to encrypt.
174
- * @param iv Optional Initialization Vector.
175
- *
176
- * @returns Encrypted data and IV
177
- */
178
- encryptWithSymmetricKey(
179
- key: ArrayBuffer,
180
- data: ArrayBuffer,
181
- iv?: ArrayBuffer,
182
- ): Promise<ArrayBuffer>
183
-
184
- /**
185
- * Encrypts the given data with the specified key
186
- *
187
- * @param name The name of the symmetric key to use to encrypt.
188
- * @param data Data to encrypt.
189
- *
190
- * @returns Encrypted data and IV
191
- *
192
- * @throws {@link UnrecognizedAlgorithmError}
193
- */
194
- encryptWithSymmetricKey(
195
- key: ArrayBuffer,
196
- data: ArrayBuffer,
197
- options?: SymmetricEncryptionOptions,
198
- ): Promise<ArrayBuffer>
199
-
200
- /**
201
- * @deprecated Use version with `options` param.
202
- *
203
- * Decrypt the given data with the given symmetric key
204
- *
205
- * @param key The symmetric key to use to decrypt the data.
206
- * @param encryptedData The encrypted data.
207
- * @param iv Optional Initialization Vector.
208
- *
209
- * @returns Decrypted data
210
- */
211
- decryptWithSymmetricKey(
212
- key: ArrayBuffer,
213
- data: ArrayBuffer,
214
- iv?: ArrayBuffer,
215
- ): Promise<ArrayBuffer>
216
-
217
- /**
218
- * Decrypt the given data with the given symmetric key
219
- *
220
- * @param key The symmetric key to use to decrypt the data.
221
- * @param encryptedData The encrypted data.
222
- *
223
- * @returns Decrypted data
224
- *
225
- * @throws {@link UnrecognizedAlgorithmError}
226
- */
227
- decryptWithSymmetricKey(
228
- key: ArrayBuffer,
229
- data: ArrayBuffer,
230
- options?: SymmetricEncryptionOptions,
231
- ): Promise<ArrayBuffer>
232
-
233
- /**
234
- * @deprecated Use version with `options` param.
235
- *
236
- * Decrypt the given data with the specified symmetric key stored in the secure store.
237
- *
238
- * @param name The name of the symmetric key to use to decrypt.
239
- * @param data The data to decrypt.
240
- * @param iv Optional Initialization Vector.
241
- *
242
- * @returns Decrypted data
243
- */
244
- encryptWithSymmetricKeyName(
245
- name: string,
246
- data: ArrayBuffer,
247
- iv?: ArrayBuffer,
248
- ): Promise<ArrayBuffer>
249
-
250
- /**
251
- * Decrypt the given data with the specified symmetric key stored in the secure store.
252
- *
253
- * @param name The name of the symmetric key to use to decrypt.
254
- * @param data The data to decrypt.
255
- *
256
- * @returns Decrypted data
257
- *
258
- * @throws {@link UnrecognizedAlgorithmError}
259
- */
260
- encryptWithSymmetricKeyName(
261
- name: string,
262
- data: ArrayBuffer,
263
- options?: SymmetricEncryptionOptions,
264
- ): Promise<ArrayBuffer>
265
-
266
- /**
267
- * @deprecated Use version with `options` param.
268
- * Decrypt the given data with the specified symmetric key stored in the secure store.
269
- *
270
- * @param name The name of the symmetric key to use to decrypt.
271
- * @param data The data to decrypt.
272
- * @param iv Optional Initialization Vector.
273
- *
274
- * @returns Decrypted data
275
- */
276
- decryptWithSymmetricKeyName(
277
- name: string,
278
- data: ArrayBuffer,
279
- iv?: ArrayBuffer,
280
- ): Promise<ArrayBuffer>
281
-
282
- /**
283
- * Decrypt the given data with the specified symmetric key stored in the secure store.
284
- *
285
- * @param name The name of the symmetric key to use to decrypt.
286
- * @param data The data to decrypt.
287
- *
288
- * @returns Decrypted data
289
- *
290
- * @throws {@link UnrecognizedAlgorithmError}
291
- */
292
- decryptWithSymmetricKeyName(
293
- name: string,
294
- data: ArrayBuffer,
295
- options?: SymmetricEncryptionOptions,
296
- ): Promise<ArrayBuffer>
297
-
298
- /**
299
- * Encrypts the given data with the specified public key.
300
- *
301
- * @param name The name of the public key to use for encryption.
302
- * @param data The data to encrypt.
303
- *
304
- * @returns Encrypted data
305
- *
306
- * @throws {@link UnrecognizedAlgorithmError}
307
- */
308
- encryptWithPublicKey(
309
- name: string,
310
- data: ArrayBuffer,
311
- options?: AsymmetricEncryptionOptions,
312
- ): Promise<ArrayBuffer>
313
-
314
- /**
315
- * Decrypts the given data with the specified private key.
316
- *
317
- * @param name The name of the private key to use for decryption.
318
- * @param data The data to decrypt.
319
- *
320
- * @returns Decrypted data or undefined if the private key is not found.
321
- *
322
- * @throws {@link UnrecognizedAlgorithmError}
323
- */
324
- decryptWithPrivateKey(
325
- name: string,
326
- data: ArrayBuffer,
327
- options?: AsymmetricEncryptionOptions,
328
- ): Promise<ArrayBuffer | undefined>
329
-
330
- /**
331
- * Remove all keys associated with this `SudoKeyManager`
332
- */
333
- removeAllKeys(): Promise<void>
334
-
335
- /**
336
- * Generates and securely stores a symmetric key.
337
- *
338
- * @param name The name of the symmetric key.
339
- */
340
- generateSymmetricKey(name: string): Promise<void>
341
-
342
- /**
343
- * Generates a symmetric key, derived from a password using PBKDF2.
344
- *
345
- * @param name The name to store the symmetric key as
346
- * @param password The password from which to generate the symmetric key
347
- * @param salt Salt to use in generation of the key
348
- * @param rounds The number of rounds of PBKDF2 to perform. Default: per getDefaultPBKDF2Rounds
349
- *
350
- * @returns The generated symmetric key.
351
- */
352
- generateSymmetricKeyFromPassword(
353
- password: ArrayBuffer,
354
- salt: ArrayBuffer,
355
- options?: { rounds?: number },
356
- ): Promise<ArrayBuffer>
357
-
358
- /**
359
- * Generate random bytes using a secure random number generator.
360
- *
361
- * @param size Number of random bytes to generate
362
- *
363
- * @returns ArrayBuffer containing the random bytes.
364
- */
365
- generateRandomData(size: number): Promise<ArrayBuffer>
366
-
367
- /**
368
- * Creates a SHA256 hash of the specified data.
369
- *
370
- * @param data Data to hash.
371
- */
372
- generateHash(data: ArrayBuffer): Promise<ArrayBuffer>
373
-
374
- /**
375
- * Generates and securely stores a key pair for public key cryptography.
376
- *
377
- * The public key is exported as `SubjectPublicKeyInfo (spki)
378
- * The private key is exported as `pkcs8`
379
- *
380
- * @param name The name of the key pair to be generated.
381
- */
382
- generateKeyPair(name: string): Promise<void>
383
-
384
- /**
385
- * Export all contents of the key manager as an array of KeyArchiveKeyInfo
386
- * ready for archive.
387
- */
388
- exportKeys(): Promise<KeyData[]>
389
- }
390
-
391
- export class DefaultSudoKeyManager implements SudoKeyManager {
392
- /**
393
- * @param namespace A namespace to use as part of the key name. If a namespace is specified then
394
- * a unique identifier for each key will be `<namespace>.<keyName>`. Namespace cannot be an empty string.
395
- * @param sudoCryptoProvider
396
- */
397
- constructor(private readonly sudoCryptoProvider: SudoCryptoProvider) {}
398
-
399
- public get serviceName(): string {
400
- return this.sudoCryptoProvider.getServiceName()
401
- }
402
-
403
- public get namespace(): string {
404
- return this.sudoCryptoProvider.getNamespace()
405
- }
406
-
407
- public addPassword(password: ArrayBuffer, name: string): Promise<void> {
408
- return this.sudoCryptoProvider.addPassword(password, name)
409
- }
410
-
411
- public getPassword(name: string): Promise<ArrayBuffer | undefined> {
412
- return this.sudoCryptoProvider.getPassword(name)
413
- }
414
-
415
- public deletePassword(name: string): Promise<void> {
416
- return this.sudoCryptoProvider.deletePassword(name)
417
- }
418
-
419
- public updatePassword(password: ArrayBuffer, name: string): Promise<void> {
420
- return this.sudoCryptoProvider.updatePassword(password, name)
421
- }
422
-
423
- public addSymmetricKey(key: ArrayBuffer, name: string): Promise<void> {
424
- return this.sudoCryptoProvider.addSymmetricKey(key, name)
425
- }
426
-
427
- public getSymmetricKey(name: string): Promise<ArrayBuffer | undefined> {
428
- return this.sudoCryptoProvider.getSymmetricKey(name)
429
- }
430
-
431
- public doesSymmetricKeyExist(name: string): Promise<boolean> {
432
- return this.sudoCryptoProvider.doesSymmetricKeyExist(name)
433
- }
434
-
435
- public deleteSymmetricKey(name: string): Promise<void> {
436
- return this.sudoCryptoProvider.deleteSymmetricKey(name)
437
- }
438
-
439
- public generateKeyPair(name: string): Promise<void> {
440
- return this.sudoCryptoProvider.generateKeyPair(name)
441
- }
442
-
443
- public addPrivateKey(key: ArrayBuffer, name: string): Promise<void> {
444
- return this.sudoCryptoProvider.addPrivateKey(key, name)
445
- }
446
-
447
- public getPrivateKey(name: string): Promise<ArrayBuffer | undefined> {
448
- return this.sudoCryptoProvider.getPrivateKey(name)
449
- }
450
-
451
- public doesPrivateKeyExist(name: string): Promise<boolean> {
452
- return this.sudoCryptoProvider.doesPrivateKeyExist(name)
453
- }
454
-
455
- public addPublicKey(key: ArrayBuffer, name: string): Promise<void> {
456
- return this.sudoCryptoProvider.addPublicKey(key, name)
457
- }
458
-
459
- public deletePublicKey(name: string): Promise<void> {
460
- return this.sudoCryptoProvider.deletePublicKey(name)
461
- }
462
-
463
- public getPublicKey(name: string): Promise<PublicKey | undefined> {
464
- return this.sudoCryptoProvider.getPublicKey(name)
465
- }
466
-
467
- public deleteKeyPair(name: string): Promise<void> {
468
- return this.sudoCryptoProvider.deleteKeyPair(name)
469
- }
470
-
471
- public generateSignatureWithPrivateKey(
472
- name: string,
473
- data: ArrayBuffer,
474
- ): Promise<ArrayBuffer> {
475
- return this.sudoCryptoProvider.generateSignatureWithPrivateKey(name, data)
476
- }
477
-
478
- verifySignatureWithPublicKey(
479
- name: string,
480
- data: ArrayBuffer,
481
- signature: ArrayBuffer,
482
- ): Promise<boolean> {
483
- return this.sudoCryptoProvider.verifySignatureWithPublicKey(
484
- name,
485
- data,
486
- signature,
487
- )
488
- }
489
-
490
- public encryptWithSymmetricKey(
491
- key: ArrayBuffer,
492
- data: ArrayBuffer,
493
- ivOrOptions?: ArrayBuffer | SymmetricEncryptionOptions,
494
- ): Promise<ArrayBuffer> {
495
- if (BufferUtil.isArrayBuffer(ivOrOptions)) {
496
- return this.sudoCryptoProvider.encryptWithSymmetricKey(key, data, {
497
- iv: ivOrOptions,
498
- })
499
- } else {
500
- return this.sudoCryptoProvider.encryptWithSymmetricKey(
501
- key,
502
- data,
503
- ivOrOptions,
504
- )
505
- }
506
- }
507
-
508
- public decryptWithSymmetricKey(
509
- key: ArrayBuffer,
510
- data: ArrayBuffer,
511
- ivOrOptions?: ArrayBuffer | SymmetricEncryptionOptions,
512
- ): Promise<ArrayBuffer> {
513
- if (BufferUtil.isArrayBuffer(ivOrOptions)) {
514
- return this.sudoCryptoProvider.decryptWithSymmetricKey(key, data, {
515
- iv: ivOrOptions,
516
- })
517
- } else {
518
- return this.sudoCryptoProvider.decryptWithSymmetricKey(
519
- key,
520
- data,
521
- ivOrOptions,
522
- )
523
- }
524
- }
525
-
526
- public encryptWithSymmetricKeyName(
527
- name: string,
528
- data: ArrayBuffer,
529
- ivOrOptions?: ArrayBuffer | SymmetricEncryptionOptions,
530
- ): Promise<ArrayBuffer> {
531
- if (BufferUtil.isArrayBuffer(ivOrOptions)) {
532
- return this.sudoCryptoProvider.encryptWithSymmetricKeyName(name, data, {
533
- iv: ivOrOptions,
534
- })
535
- } else {
536
- return this.sudoCryptoProvider.encryptWithSymmetricKeyName(
537
- name,
538
- data,
539
- ivOrOptions,
540
- )
541
- }
542
- }
543
-
544
- public decryptWithSymmetricKeyName(
545
- name: string,
546
- data: ArrayBuffer,
547
- ivOrOptions?: ArrayBuffer | SymmetricEncryptionOptions,
548
- ): Promise<ArrayBuffer> {
549
- if (BufferUtil.isArrayBuffer(ivOrOptions)) {
550
- return this.sudoCryptoProvider.decryptWithSymmetricKeyName(name, data, {
551
- iv: ivOrOptions,
552
- })
553
- } else {
554
- return this.sudoCryptoProvider.decryptWithSymmetricKeyName(
555
- name,
556
- data,
557
- ivOrOptions,
558
- )
559
- }
560
- }
561
-
562
- public encryptWithPublicKey(
563
- name: string,
564
- data: ArrayBuffer,
565
- options?: AsymmetricEncryptionOptions,
566
- ): Promise<ArrayBuffer> {
567
- return this.sudoCryptoProvider.encryptWithPublicKey(name, data, options)
568
- }
569
-
570
- public decryptWithPrivateKey(
571
- name: string,
572
- data: ArrayBuffer,
573
- options?: AsymmetricEncryptionOptions,
574
- ): Promise<ArrayBuffer | undefined> {
575
- return this.sudoCryptoProvider.decryptWithPrivateKey(name, data, options)
576
- }
577
-
578
- public removeAllKeys(): Promise<void> {
579
- return this.sudoCryptoProvider.removeAllKeys()
580
- }
581
-
582
- public generateSymmetricKey(name: string): Promise<void> {
583
- return this.sudoCryptoProvider.generateSymmetricKey(name)
584
- }
585
-
586
- public generateSymmetricKeyFromPassword(
587
- password: ArrayBuffer,
588
- salt: ArrayBuffer,
589
- options?: { rounds?: number },
590
- ): Promise<ArrayBuffer> {
591
- return this.sudoCryptoProvider.generateSymmetricKeyFromPassword(
592
- password,
593
- salt,
594
- options,
595
- )
596
- }
597
-
598
- public generateRandomData(size: number): Promise<ArrayBuffer> {
599
- return this.sudoCryptoProvider.generateRandomData(size)
600
- }
601
-
602
- public generateHash(data: ArrayBuffer): Promise<ArrayBuffer> {
603
- return this.sudoCryptoProvider.generateHash(data)
604
- }
605
-
606
- public exportKeys(): Promise<KeyData[]> {
607
- return this.sudoCryptoProvider.exportKeys()
608
- }
609
- }