@sudoplatform/sudo-common 7.1.2 → 7.1.3

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 (310) hide show
  1. package/lib/configurationManager/defaultConfigurationManager.js +3 -5
  2. package/package.json +2 -3
  3. package/.babelrc +0 -10
  4. package/.eslintrc.js +0 -91
  5. package/.gitignore +0 -14
  6. package/.gitlab-ci.yml +0 -101
  7. package/.npmignore +0 -1
  8. package/.prettierignore +0 -3
  9. package/.prettierrc.js +0 -7
  10. package/.publisher.json +0 -7
  11. package/.vscode/settings.json +0 -5
  12. package/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  13. package/.yarnrc +0 -5
  14. package/bin/outdated-with-suppression.sh +0 -203
  15. package/bin/suppress-audit.sh +0 -15
  16. package/bin/suppress-outdated.sh +0 -60
  17. package/bin/yarn-audit-with-suppression.sh +0 -19
  18. package/dependencies-report.json +0 -640
  19. package/docs/.nojekyll +0 -1
  20. package/docs/assets/highlight.css +0 -57
  21. package/docs/assets/main.js +0 -54
  22. package/docs/assets/search.js +0 -1
  23. package/docs/assets/style.css +0 -1224
  24. package/docs/assets/widgets.png +0 -0
  25. package/docs/assets/widgets@2x.png +0 -0
  26. package/docs/classes/AccountLockedError.html +0 -163
  27. package/docs/classes/AuthenticationError.html +0 -169
  28. package/docs/classes/Base64.html +0 -245
  29. package/docs/classes/Buffer.html +0 -158
  30. package/docs/classes/ConfigurationNotSetError.html +0 -164
  31. package/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  32. package/docs/classes/DecodeError.html +0 -168
  33. package/docs/classes/DefaultConfigurationManager.html +0 -213
  34. package/docs/classes/DefaultLogger.html +0 -291
  35. package/docs/classes/DefaultSudoKeyArchive.html +0 -363
  36. package/docs/classes/DefaultSudoKeyManager.html +0 -814
  37. package/docs/classes/FatalError.html +0 -169
  38. package/docs/classes/IllegalArgumentError.html +0 -168
  39. package/docs/classes/IllegalStateError.html +0 -169
  40. package/docs/classes/InsufficientEntitlementsError.html +0 -164
  41. package/docs/classes/InvalidOwnershipProofError.html +0 -163
  42. package/docs/classes/InvalidTokenError.html +0 -163
  43. package/docs/classes/KeyArchiveDecodingError.html +0 -168
  44. package/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  45. package/docs/classes/KeyArchiveMissingError.html +0 -168
  46. package/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  47. package/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  48. package/docs/classes/KeyArchiveTypeError.html +0 -168
  49. package/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  50. package/docs/classes/KeyArchiveVersionError.html +0 -168
  51. package/docs/classes/KeyNotFoundError.html +0 -168
  52. package/docs/classes/KeyStoreNotExportableError.html +0 -168
  53. package/docs/classes/LimitExceededError.html +0 -164
  54. package/docs/classes/NoEntitlementsError.html +0 -163
  55. package/docs/classes/NotAuthorizedError.html +0 -169
  56. package/docs/classes/NotRegisteredError.html +0 -168
  57. package/docs/classes/NotSignedInError.html +0 -164
  58. package/docs/classes/OperationNotImplementedError.html +0 -168
  59. package/docs/classes/RegisterError.html +0 -169
  60. package/docs/classes/RequestFailedError.html +0 -189
  61. package/docs/classes/ServiceError.html +0 -170
  62. package/docs/classes/SignOutError.html +0 -168
  63. package/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  64. package/docs/classes/UnknownGraphQLError.html +0 -169
  65. package/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  66. package/docs/classes/UserNotConfirmedError.html +0 -164
  67. package/docs/classes/VersionMismatchError.html +0 -166
  68. package/docs/enums/CachePolicy.html +0 -72
  69. package/docs/enums/EncryptionAlgorithm.html +0 -80
  70. package/docs/enums/KeyArchiveKeyType.html +0 -86
  71. package/docs/enums/KeyDataKeyFormat.html +0 -92
  72. package/docs/enums/KeyDataKeyType.html +0 -85
  73. package/docs/enums/ListOperationResultStatus.html +0 -85
  74. package/docs/enums/PublicKeyFormat.html +0 -68
  75. package/docs/functions/isAppSyncNetworkError.html +0 -147
  76. package/docs/functions/isInsecureKeyArchive.html +0 -147
  77. package/docs/functions/isSecureKeyArchive.html +0 -147
  78. package/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  79. package/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  80. package/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  81. package/docs/functions/mapGraphQLToClientError.html +0 -154
  82. package/docs/functions/mapNetworkErrorToClientError.html +0 -154
  83. package/docs/index.html +0 -146
  84. package/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  85. package/docs/interfaces/BooleanFilter.html +0 -75
  86. package/docs/interfaces/ConfigurationManager.html +0 -200
  87. package/docs/interfaces/KeyData.html +0 -106
  88. package/docs/interfaces/ListOperationFailureResult.html +0 -76
  89. package/docs/interfaces/ListOperationPartialResult.html +0 -102
  90. package/docs/interfaces/ListOperationSuccessResult.html +0 -90
  91. package/docs/interfaces/ListOutput.html +0 -80
  92. package/docs/interfaces/Logger.html +0 -251
  93. package/docs/interfaces/Owner.html +0 -72
  94. package/docs/interfaces/PublicKey.html +0 -72
  95. package/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  96. package/docs/interfaces/StringFilter.html +0 -82
  97. package/docs/interfaces/SudoCryptoProvider.html +0 -865
  98. package/docs/interfaces/SudoKeyArchive.html +0 -257
  99. package/docs/interfaces/SudoKeyManager.html +0 -848
  100. package/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  101. package/docs/interfaces/ValidationResult.html +0 -83
  102. package/docs/modules.html +0 -248
  103. package/docs/types/AppSyncError.html +0 -138
  104. package/docs/types/AppSyncNetworkError.html +0 -138
  105. package/docs/types/InsecureKeyArchive.html +0 -138
  106. package/docs/types/KeyArchive.html +0 -138
  107. package/docs/types/KeyArchiveKeyInfo.html +0 -154
  108. package/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  109. package/docs/types/ListOperationResult.html +0 -148
  110. package/docs/types/SecureKeyArchive.html +0 -138
  111. package/docs/types/Subset.html +0 -144
  112. package/docs/types/UnrecognizedKeyArchive.html +0 -138
  113. package/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  114. package/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  115. package/docs/variables/InsecureKeyArchiveType.html +0 -138
  116. package/docs/variables/KeyArchiveCodec.html +0 -138
  117. package/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  118. package/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  119. package/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  120. package/docs/variables/SecureKeyArchiveCodec.html +0 -138
  121. package/docs/variables/SecureKeyArchiveType.html +0 -138
  122. package/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  123. package/github/.babelrc +0 -10
  124. package/github/.eslintrc.js +0 -91
  125. package/github/.gitignore +0 -14
  126. package/github/.gitlab-ci.yml +0 -101
  127. package/github/.npmignore +0 -1
  128. package/github/.prettierignore +0 -3
  129. package/github/.prettierrc.js +0 -7
  130. package/github/.publisher.json +0 -7
  131. package/github/.vscode/settings.json +0 -5
  132. package/github/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  133. package/github/.yarnrc +0 -5
  134. package/github/CHANGELOG.md +0 -51
  135. package/github/README.md +0 -8
  136. package/github/bin/outdated-with-suppression.sh +0 -203
  137. package/github/bin/suppress-audit.sh +0 -15
  138. package/github/bin/suppress-outdated.sh +0 -60
  139. package/github/bin/yarn-audit-with-suppression.sh +0 -19
  140. package/github/docs/.nojekyll +0 -1
  141. package/github/docs/assets/highlight.css +0 -57
  142. package/github/docs/assets/main.js +0 -54
  143. package/github/docs/assets/search.js +0 -1
  144. package/github/docs/assets/style.css +0 -1224
  145. package/github/docs/assets/widgets.png +0 -0
  146. package/github/docs/assets/widgets@2x.png +0 -0
  147. package/github/docs/classes/AccountLockedError.html +0 -163
  148. package/github/docs/classes/AuthenticationError.html +0 -169
  149. package/github/docs/classes/Base64.html +0 -245
  150. package/github/docs/classes/Buffer.html +0 -158
  151. package/github/docs/classes/ConfigurationNotSetError.html +0 -164
  152. package/github/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  153. package/github/docs/classes/DecodeError.html +0 -168
  154. package/github/docs/classes/DefaultConfigurationManager.html +0 -213
  155. package/github/docs/classes/DefaultLogger.html +0 -291
  156. package/github/docs/classes/DefaultSudoKeyArchive.html +0 -363
  157. package/github/docs/classes/DefaultSudoKeyManager.html +0 -814
  158. package/github/docs/classes/FatalError.html +0 -169
  159. package/github/docs/classes/IllegalArgumentError.html +0 -168
  160. package/github/docs/classes/IllegalStateError.html +0 -169
  161. package/github/docs/classes/InsufficientEntitlementsError.html +0 -164
  162. package/github/docs/classes/InvalidOwnershipProofError.html +0 -163
  163. package/github/docs/classes/InvalidTokenError.html +0 -163
  164. package/github/docs/classes/KeyArchiveDecodingError.html +0 -168
  165. package/github/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  166. package/github/docs/classes/KeyArchiveMissingError.html +0 -168
  167. package/github/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  168. package/github/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  169. package/github/docs/classes/KeyArchiveTypeError.html +0 -168
  170. package/github/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  171. package/github/docs/classes/KeyArchiveVersionError.html +0 -168
  172. package/github/docs/classes/KeyNotFoundError.html +0 -168
  173. package/github/docs/classes/KeyStoreNotExportableError.html +0 -168
  174. package/github/docs/classes/LimitExceededError.html +0 -164
  175. package/github/docs/classes/NoEntitlementsError.html +0 -163
  176. package/github/docs/classes/NotAuthorizedError.html +0 -169
  177. package/github/docs/classes/NotRegisteredError.html +0 -168
  178. package/github/docs/classes/NotSignedInError.html +0 -164
  179. package/github/docs/classes/OperationNotImplementedError.html +0 -168
  180. package/github/docs/classes/RegisterError.html +0 -169
  181. package/github/docs/classes/RequestFailedError.html +0 -189
  182. package/github/docs/classes/ServiceError.html +0 -170
  183. package/github/docs/classes/SignOutError.html +0 -168
  184. package/github/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  185. package/github/docs/classes/UnknownGraphQLError.html +0 -169
  186. package/github/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  187. package/github/docs/classes/UserNotConfirmedError.html +0 -164
  188. package/github/docs/classes/VersionMismatchError.html +0 -166
  189. package/github/docs/enums/CachePolicy.html +0 -72
  190. package/github/docs/enums/EncryptionAlgorithm.html +0 -80
  191. package/github/docs/enums/KeyArchiveKeyType.html +0 -86
  192. package/github/docs/enums/KeyDataKeyFormat.html +0 -92
  193. package/github/docs/enums/KeyDataKeyType.html +0 -85
  194. package/github/docs/enums/ListOperationResultStatus.html +0 -85
  195. package/github/docs/enums/PublicKeyFormat.html +0 -68
  196. package/github/docs/functions/isAppSyncNetworkError.html +0 -147
  197. package/github/docs/functions/isInsecureKeyArchive.html +0 -147
  198. package/github/docs/functions/isSecureKeyArchive.html +0 -147
  199. package/github/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  200. package/github/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  201. package/github/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  202. package/github/docs/functions/mapGraphQLToClientError.html +0 -154
  203. package/github/docs/functions/mapNetworkErrorToClientError.html +0 -154
  204. package/github/docs/index.html +0 -146
  205. package/github/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  206. package/github/docs/interfaces/BooleanFilter.html +0 -75
  207. package/github/docs/interfaces/ConfigurationManager.html +0 -200
  208. package/github/docs/interfaces/KeyData.html +0 -106
  209. package/github/docs/interfaces/ListOperationFailureResult.html +0 -76
  210. package/github/docs/interfaces/ListOperationPartialResult.html +0 -102
  211. package/github/docs/interfaces/ListOperationSuccessResult.html +0 -90
  212. package/github/docs/interfaces/ListOutput.html +0 -80
  213. package/github/docs/interfaces/Logger.html +0 -251
  214. package/github/docs/interfaces/Owner.html +0 -72
  215. package/github/docs/interfaces/PublicKey.html +0 -72
  216. package/github/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  217. package/github/docs/interfaces/StringFilter.html +0 -82
  218. package/github/docs/interfaces/SudoCryptoProvider.html +0 -865
  219. package/github/docs/interfaces/SudoKeyArchive.html +0 -257
  220. package/github/docs/interfaces/SudoKeyManager.html +0 -848
  221. package/github/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  222. package/github/docs/interfaces/ValidationResult.html +0 -83
  223. package/github/docs/modules.html +0 -248
  224. package/github/docs/types/AppSyncError.html +0 -138
  225. package/github/docs/types/AppSyncNetworkError.html +0 -138
  226. package/github/docs/types/InsecureKeyArchive.html +0 -138
  227. package/github/docs/types/KeyArchive.html +0 -138
  228. package/github/docs/types/KeyArchiveKeyInfo.html +0 -154
  229. package/github/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  230. package/github/docs/types/ListOperationResult.html +0 -148
  231. package/github/docs/types/SecureKeyArchive.html +0 -138
  232. package/github/docs/types/Subset.html +0 -144
  233. package/github/docs/types/UnrecognizedKeyArchive.html +0 -138
  234. package/github/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  235. package/github/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  236. package/github/docs/variables/InsecureKeyArchiveType.html +0 -138
  237. package/github/docs/variables/KeyArchiveCodec.html +0 -138
  238. package/github/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  239. package/github/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  240. package/github/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  241. package/github/docs/variables/SecureKeyArchiveCodec.html +0 -138
  242. package/github/docs/variables/SecureKeyArchiveType.html +0 -138
  243. package/github/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  244. package/github/jest.config.json +0 -14
  245. package/github/package.json +0 -91
  246. package/github/src/configurationManager/defaultConfigurationManager.ts +0 -281
  247. package/github/src/errors/error.ts +0 -469
  248. package/github/src/index.ts +0 -8
  249. package/github/src/logging/bunyanLogger.ts +0 -47
  250. package/github/src/logging/logger.ts +0 -164
  251. package/github/src/sudoKeyArchive/index.ts +0 -4
  252. package/github/src/sudoKeyArchive/keyArchive.ts +0 -120
  253. package/github/src/sudoKeyArchive/keyInfo.ts +0 -47
  254. package/github/src/sudoKeyArchive/keyType.ts +0 -50
  255. package/github/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  256. package/github/src/sudoKeyManager/index.ts +0 -4
  257. package/github/src/sudoKeyManager/keyData.ts +0 -60
  258. package/github/src/sudoKeyManager/publicKey.ts +0 -9
  259. package/github/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  260. package/github/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  261. package/github/src/types/types.ts +0 -129
  262. package/github/src/utils/base64.ts +0 -75
  263. package/github/src/utils/buffer.ts +0 -39
  264. package/github/test/integration/defaultConfigurationManager.spec.ts +0 -85
  265. package/github/test/matchers.ts +0 -122
  266. package/github/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  267. package/github/test/unit/errors/error.spec.ts +0 -115
  268. package/github/test/unit/keyType.spec.ts +0 -54
  269. package/github/test/unit/logging/logger.spec.ts +0 -182
  270. package/github/test/unit/sudoKeyArchive.spec.ts +0 -1609
  271. package/github/test/unit/sudoKeyManager.spec.ts +0 -1045
  272. package/github/test/unit/utils/base64.spec.ts +0 -45
  273. package/github/test/unit/utils/buffer.spec.ts +0 -45
  274. package/github/test/unit/utils/listOperationResult.spec.ts +0 -84
  275. package/github/tsconfig.json +0 -20
  276. package/github/tsconfig.test.json +0 -7
  277. package/github/yarn.lock +0 -5922
  278. package/jest.config.json +0 -14
  279. package/src/configurationManager/defaultConfigurationManager.ts +0 -281
  280. package/src/errors/error.ts +0 -469
  281. package/src/index.ts +0 -8
  282. package/src/logging/bunyanLogger.ts +0 -47
  283. package/src/logging/logger.ts +0 -164
  284. package/src/sudoKeyArchive/index.ts +0 -4
  285. package/src/sudoKeyArchive/keyArchive.ts +0 -120
  286. package/src/sudoKeyArchive/keyInfo.ts +0 -47
  287. package/src/sudoKeyArchive/keyType.ts +0 -50
  288. package/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  289. package/src/sudoKeyManager/index.ts +0 -4
  290. package/src/sudoKeyManager/keyData.ts +0 -60
  291. package/src/sudoKeyManager/publicKey.ts +0 -9
  292. package/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  293. package/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  294. package/src/types/types.ts +0 -129
  295. package/src/utils/base64.ts +0 -75
  296. package/src/utils/buffer.ts +0 -39
  297. package/test/integration/defaultConfigurationManager.spec.ts +0 -85
  298. package/test/matchers.ts +0 -122
  299. package/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  300. package/test/unit/errors/error.spec.ts +0 -115
  301. package/test/unit/keyType.spec.ts +0 -54
  302. package/test/unit/logging/logger.spec.ts +0 -182
  303. package/test/unit/sudoKeyArchive.spec.ts +0 -1609
  304. package/test/unit/sudoKeyManager.spec.ts +0 -1045
  305. package/test/unit/utils/base64.spec.ts +0 -45
  306. package/test/unit/utils/buffer.spec.ts +0 -45
  307. package/test/unit/utils/listOperationResult.spec.ts +0 -84
  308. package/tsconfig.json +0 -20
  309. package/tsconfig.test.json +0 -7
  310. package/yarn.lock +0 -5922
@@ -1,416 +0,0 @@
1
- import { EncryptionAlgorithm } from '../types/types'
2
- import { KeyData } from './keyData'
3
- import { PublicKey } from './publicKey'
4
-
5
- export class SudoCryptoProviderDefaults {
6
- public static readonly aesIVSize = 16
7
- public static readonly aesKeySize = 256
8
- public static readonly rsaKeySize = 2048
9
- public static readonly pbkdfRounds = 10000
10
- public static readonly pbkdfSaltSize = 16
11
- }
12
-
13
- /**
14
- * Optional arguments for symmetric encryption..
15
- */
16
- export interface SymmetricEncryptionOptions {
17
- // Initialization Vector
18
- iv?: ArrayBuffer
19
- // Algorithm to use to encrypt data.
20
- // Defaulted to `AES/CBC/PKCS7Padding`
21
- algorithm?: EncryptionAlgorithm
22
- }
23
-
24
- /**
25
- * Optional arguments for public key encryption.
26
- */
27
- export interface AsymmetricEncryptionOptions {
28
- // Algorithm used to encrypt data.
29
- // Defaulted to RSA/OAEPSHA-1
30
- algorithm?: EncryptionAlgorithm
31
- }
32
-
33
- /**
34
- * CryptoProvider instance interface
35
- */
36
- export interface SudoCryptoProvider {
37
- getNamespace(): string
38
- getServiceName(): string
39
-
40
- /**
41
- * Adds as password to the secure store.
42
- *
43
- * @param password The password to store.
44
- * @param name The name of the password.
45
- */
46
- addPassword(password: ArrayBuffer, name: string): Promise<void>
47
-
48
- /**
49
- * Retrieves a password from the secure store.
50
- *
51
- * @param name The name of the password to retrieve.
52
- *
53
- * @returns The password or undefined if a password with the given name was not found.
54
- */
55
- getPassword(name: string): Promise<ArrayBuffer | undefined>
56
-
57
- /**
58
- * Deletes a password from the secure store.
59
- *
60
- * @param name The name of the password to delete.
61
- */
62
- deletePassword(name: string): Promise<void>
63
-
64
- /**
65
- * Updates a password stored in the secure store.
66
- *
67
- * @param password The new password.
68
- * @param name The name of the password to update.
69
- */
70
- updatePassword(password: ArrayBuffer, name: string): Promise<void>
71
-
72
- /**
73
- * Adds a symmetric key to the secure store.
74
- *
75
- * @param key The symmetric key.
76
- * @param name The name for the symmetric key.
77
- */
78
- addSymmetricKey(key: ArrayBuffer, name: string): Promise<void>
79
-
80
- /**
81
- * Retrieves a symmetric key from the secure store.
82
- *
83
- * @param name The name of the symmetric key.
84
- *
85
- * @returns The symmetric key or undefined if not found.
86
- */
87
- getSymmetricKey(name: string): Promise<ArrayBuffer | undefined>
88
-
89
- /**
90
- * Checks to see if the specified symmetric key exists.
91
- *
92
- * @param name The name of the symmetric key.
93
- */
94
- doesSymmetricKeyExist(name: string): Promise<boolean>
95
-
96
- /**
97
- * Deletes a symmetric key from the secure store.
98
- *
99
- * @param name The name of the symmetric key.
100
- */
101
- deleteSymmetricKey(name: string): Promise<void>
102
-
103
- /**
104
- * Generates a symmetric key and stores it securely.
105
- *
106
- * @param name The name for the symmetric key.
107
- */
108
- generateSymmetricKey(name: string): Promise<void>
109
-
110
- /**
111
- * Generates a symmetric key from a password using PBKDF2.
112
- *
113
- * @param password The password from which to generate the symmetric key
114
- * @param salt Salt to use in generation of the key
115
- * @param rounds The number of rounds of PBKDF2 to perform. Default: per getDefaultPBKDF2Rounds
116
- *
117
- * @returns The generated symmetric key.
118
- */
119
- generateSymmetricKeyFromPassword(
120
- password: ArrayBuffer,
121
- salt: ArrayBuffer,
122
- options?: { rounds?: number },
123
- ): Promise<ArrayBuffer>
124
-
125
- /**
126
- * Generate random bytes using a secure random number generator.
127
- *
128
- * @param size Number of random bytes to generate
129
- *
130
- * @returns ArrayBuffer containing the random bytes.
131
- */
132
- generateRandomData(size: number): Promise<ArrayBuffer>
133
-
134
- /**
135
- * Deletes a key pair from the secure store.
136
- *
137
- * @param name The name of the key pair to be deleted.
138
- */
139
- deleteKeyPair(name: string): Promise<void>
140
-
141
- /**
142
- * Generates a signature for the given data with the specified private key.
143
- *
144
- * @param name The name of the private key to use for generation.
145
- * @param data The data to sign.
146
- *
147
- * @returns Data signature
148
- *
149
- * @throws {@link KeyNotFoundError}
150
- */
151
- generateSignatureWithPrivateKey(
152
- name: string,
153
- data: ArrayBuffer,
154
- ): Promise<ArrayBuffer>
155
-
156
- /**
157
- * Verifies the given data against the provided signature using the specified public key.
158
- *
159
- * @param name The name of the public key to use for validation.
160
- * @param data The data to verify
161
- * @param signature The signature to verify against
162
- *
163
- * @returns True if the data and signature could be successfully verified
164
- */
165
- verifySignatureWithPublicKey(
166
- name: string,
167
- data: ArrayBuffer,
168
- signature: ArrayBuffer,
169
- ): Promise<boolean>
170
-
171
- /**
172
- * Adds a private key to the secure store.
173
- *
174
- * @param key The private key to store securely.
175
- * @param name The name of the private key to be stored.
176
- */
177
- addPrivateKey(key: ArrayBuffer, name: string): Promise<void>
178
-
179
- /**
180
- * Retrieves a private key from the secure store.
181
- *
182
- * @param name The name of the private key to be retrieved.
183
- *
184
- * @returns Requested private key or undefined if the key was not found.
185
- */
186
- getPrivateKey(name: string): Promise<ArrayBuffer | undefined>
187
-
188
- /**
189
- * Checks to see if the specified private key exists.
190
- *
191
- * @param name The name of the private key.
192
- */
193
- doesPrivateKeyExist(name: string): Promise<boolean>
194
-
195
- /**
196
- * Adds a public key to the secure store.
197
- *
198
- * @param key The public key to store securely.
199
- * @param name The name of the public key to be stored.
200
- */
201
- addPublicKey(key: ArrayBuffer, name: string): Promise<void>
202
-
203
- /**
204
- * Deletes the specified public key from the secure store.
205
- *
206
- * @param name The name of the public key to be removed.
207
- */
208
- deletePublicKey(name: string): Promise<void>
209
-
210
- /**
211
- * Retrieves the public key from the secure store.
212
- *
213
- * @param name The name of the public key.
214
- *
215
- * @returns The public key or undefined if the key was not found.
216
- */
217
- getPublicKey(name: string): Promise<PublicKey | undefined>
218
-
219
- /**
220
- * Clear all types of keys
221
- */
222
- removeAllKeys(): Promise<void>
223
-
224
- /**
225
- * @deprecated Use version with `options` param.
226
- *
227
- * Encrypts the given data with the specified symmetric key stored in the secure store.
228
- *
229
- * @param name The name of the symmetric key to use to encrypt.
230
- * @param data Data to encrypt.
231
- * @param iv Optional Initialization Vector.
232
- *
233
- * @returns Encrypted data and IV
234
- */
235
- encryptWithSymmetricKeyName(
236
- name: string,
237
- data: ArrayBuffer,
238
- iv?: ArrayBuffer,
239
- ): Promise<ArrayBuffer>
240
-
241
- /**
242
- * Encrypts the given data with the specified symmetric key stored in the secure store.
243
- *
244
- * @param name The name of the symmetric key to use to encrypt.
245
- * @param data Data to encrypt.
246
- *
247
- *
248
- * @returns Encrypted data and IV
249
- *
250
- * @throws {@link UnrecognizedAlgorithmError}
251
- * @throws {@link KeyNotFoundError}
252
- */
253
- encryptWithSymmetricKeyName(
254
- name: string,
255
- data: ArrayBuffer,
256
- options?: SymmetricEncryptionOptions,
257
- ): Promise<ArrayBuffer>
258
-
259
- /**
260
- * @deprecated Use version with `options` param.
261
- *
262
- * Decrypt the given data with the specified symmetric key stored in the secure store.
263
- *
264
- * @param name The name of the symmetric key to use to decrypt.
265
- * @param data The data to decrypt.
266
- * @param iv Optional Initialization Vector.
267
- *
268
- * @returns Decrypted data
269
- */
270
- decryptWithSymmetricKeyName(
271
- name: string,
272
- data: ArrayBuffer,
273
- iv?: ArrayBuffer,
274
- ): Promise<ArrayBuffer>
275
-
276
- /**
277
- * Decrypt the given data with the specified symmetric key stored in the secure store.
278
- *
279
- * @param name The name of the symmetric key to use to decrypt.
280
- * @param data The data to decrypt.
281
- *
282
- * @returns Decrypted data
283
- *
284
- * @throws {@link UnrecognizedAlgorithmError}
285
- * @throws {@link KeyNotFoundError}
286
- */
287
- decryptWithSymmetricKeyName(
288
- name: string,
289
- data: ArrayBuffer,
290
- options?: SymmetricEncryptionOptions,
291
- ): Promise<ArrayBuffer>
292
-
293
- /**
294
- * @deprecated Use version with `options` param.
295
- *
296
- * Encrypts the given data with the specified key
297
- *
298
- * @param name The name of the symmetric key to use to encrypt.
299
- * @param data Data to encrypt.
300
- * @param iv Optional Initialization Vector.
301
- *
302
- * @returns Encrypted data and IV
303
- */
304
- encryptWithSymmetricKey(
305
- key: ArrayBuffer,
306
- data: ArrayBuffer,
307
- iv?: ArrayBuffer,
308
- ): Promise<ArrayBuffer>
309
-
310
- /**
311
- * Encrypts the given data with the specified key
312
- *
313
- * @param name The name of the symmetric key to use to encrypt.
314
- * @param data Data to encrypt.
315
- *
316
- * @returns Encrypted data and IV
317
- *
318
- * @throws {@link UnrecognizedAlgorithmError}
319
- */
320
- encryptWithSymmetricKey(
321
- key: ArrayBuffer,
322
- data: ArrayBuffer,
323
- options?: SymmetricEncryptionOptions,
324
- ): Promise<ArrayBuffer>
325
-
326
- /**
327
- * @deprecated Use version with `options` param.
328
- *
329
- * Decrypt the given data with the specified symmetric key stored in the secure store.
330
- *
331
- * @param name The name of the symmetric key to use to decrypt.
332
- * @param data The data to decrypt.
333
- * @param iv Optional Initialization Vector.
334
- *
335
- * @returns Decrypted data
336
- */
337
- decryptWithSymmetricKey(
338
- key: ArrayBuffer,
339
- data: ArrayBuffer,
340
- iv?: ArrayBuffer,
341
- ): Promise<ArrayBuffer>
342
-
343
- /**
344
- * Decrypt the given data with the specified symmetric key stored in the secure store.
345
- *
346
- * @param name The name of the symmetric key to use to decrypt.
347
- * @param data The data to decrypt.
348
- *
349
- * @returns Decrypted data
350
- *
351
- * @throws {@link UnrecognizedAlgorithmError}
352
- */
353
- decryptWithSymmetricKey(
354
- key: ArrayBuffer,
355
- data: ArrayBuffer,
356
- options?: SymmetricEncryptionOptions,
357
- ): Promise<ArrayBuffer>
358
-
359
- /**
360
- * Encrypts the given data with the specified public key.
361
- *
362
- * @param name The name of the public key to use for encryption.
363
- * @param data The data to encrypt.
364
- *
365
- * @returns Encrypted data
366
- *
367
- * @throws {@link UnrecognizedAlgorithmError}
368
- * @throws {@link KeyNotFoundError}
369
- */
370
- encryptWithPublicKey(
371
- name: string,
372
- data: ArrayBuffer,
373
- options?: AsymmetricEncryptionOptions,
374
- ): Promise<ArrayBuffer>
375
-
376
- /**
377
- * Decrypts the given data with the specified private key.
378
- *
379
- * @param name The name of the private key to use for decryption.
380
- * @param data The data to decrypt.
381
- *
382
- * @returns Decrypted data.
383
- *
384
- * @throws {@link UnrecognizedAlgorithmError}
385
- * @throws {@link KeyNotFoundError}
386
- */
387
- decryptWithPrivateKey(
388
- name: string,
389
- data: ArrayBuffer,
390
- options?: AsymmetricEncryptionOptions,
391
- ): Promise<ArrayBuffer>
392
-
393
- /**
394
- * Generates and securely stores a key pair for public key cryptography.
395
- *
396
- * @param name The name of the key pair to be generated.
397
- */
398
- generateKeyPair(name: string): Promise<void>
399
-
400
- /**
401
- * Creates a SHA256 hash of the specified data.
402
- *
403
- * @param data Data to hash.
404
- *
405
- * @returns The SHA256 hash of data
406
- */
407
- generateHash(data: ArrayBuffer): Promise<ArrayBuffer>
408
-
409
- /**
410
- * Export all keys and passwords from the key store as an
411
- * array of KeyData items.
412
- *
413
- * @returns Array of exported keys and passwords
414
- */
415
- exportKeys(): Promise<KeyData[]>
416
- }