@sudoplatform/sudo-common 6.4.0 → 7.0.2

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 (236) hide show
  1. package/.gitignore +2 -1
  2. package/.yarn/releases/{yarn-1.22.18.cjs → yarn-1.22.19.cjs} +13 -4
  3. package/.yarnrc +1 -1
  4. package/bin/outdated-with-suppression.sh +117 -11
  5. package/bin/suppress-outdated.sh +36 -9
  6. package/dependencies-report.json +388 -4
  7. package/docs/assets/highlight.css +11 -11
  8. package/docs/assets/main.js +4 -2
  9. package/docs/assets/search.js +1 -1
  10. package/docs/assets/style.css +427 -617
  11. package/docs/classes/AccountLockedError.html +163 -8
  12. package/docs/classes/AuthenticationError.html +168 -8
  13. package/docs/classes/Base64.html +134 -3
  14. package/docs/classes/Buffer.html +158 -3
  15. package/docs/classes/ConfigurationNotSetError.html +163 -8
  16. package/docs/classes/ConfigurationSetNotFoundError.html +168 -8
  17. package/docs/classes/DecodeError.html +168 -8
  18. package/docs/classes/DefaultConfigurationManager.html +206 -18
  19. package/docs/classes/DefaultLogger.html +291 -25
  20. package/docs/classes/DefaultSudoKeyArchive.html +337 -39
  21. package/docs/classes/DefaultSudoKeyManager.html +813 -63
  22. package/docs/classes/FatalError.html +168 -8
  23. package/docs/classes/IllegalArgumentError.html +168 -8
  24. package/docs/classes/IllegalStateError.html +168 -8
  25. package/docs/classes/InsufficientEntitlementsError.html +163 -8
  26. package/docs/classes/InvalidOwnershipProofError.html +163 -8
  27. package/docs/classes/InvalidTokenError.html +163 -8
  28. package/docs/classes/KeyArchiveDecodingError.html +168 -8
  29. package/docs/classes/KeyArchiveIncorrectPasswordError.html +168 -8
  30. package/docs/classes/KeyArchiveMissingError.html +168 -8
  31. package/docs/classes/KeyArchiveNoPasswordRequiredError.html +168 -8
  32. package/docs/classes/KeyArchivePasswordRequiredError.html +168 -8
  33. package/docs/classes/KeyArchiveTypeError.html +168 -8
  34. package/docs/classes/KeyArchiveUnknownKeyTypeError.html +168 -8
  35. package/docs/classes/KeyArchiveVersionError.html +168 -8
  36. package/docs/classes/KeyNotFoundError.html +168 -8
  37. package/docs/classes/KeyStoreNotExportableError.html +168 -8
  38. package/docs/classes/LimitExceededError.html +163 -8
  39. package/docs/classes/NoEntitlementsError.html +163 -8
  40. package/docs/classes/NotAuthorizedError.html +168 -8
  41. package/docs/classes/NotRegisteredError.html +168 -8
  42. package/docs/classes/NotSignedInError.html +163 -8
  43. package/docs/classes/OperationNotImplementedError.html +168 -8
  44. package/docs/classes/RegisterError.html +168 -8
  45. package/docs/classes/RequestFailedError.html +188 -12
  46. package/docs/classes/ServiceError.html +168 -8
  47. package/docs/classes/SignOutError.html +168 -8
  48. package/docs/classes/SudoCryptoProviderDefaults.html +106 -1
  49. package/docs/classes/UnknownGraphQLError.html +168 -8
  50. package/docs/classes/UnrecognizedAlgorithmError.html +168 -8
  51. package/docs/classes/UserNotConfirmedError.html +163 -8
  52. package/docs/classes/VersionMismatchError.html +163 -8
  53. package/docs/enums/CachePolicy.html +71 -3
  54. package/docs/enums/EncryptionAlgorithm.html +78 -3
  55. package/docs/enums/KeyArchiveKeyType.html +86 -4
  56. package/docs/enums/KeyDataKeyFormat.html +84 -10
  57. package/docs/enums/KeyDataKeyType.html +85 -3
  58. package/docs/enums/ListOperationResultStatus.html +84 -9
  59. package/docs/enums/PublicKeyFormat.html +68 -1
  60. package/docs/functions/isAppSyncNetworkError.html +147 -0
  61. package/docs/functions/isInsecureKeyArchive.html +147 -0
  62. package/docs/functions/isSecureKeyArchive.html +147 -0
  63. package/docs/functions/isUnrecognizedKeyArchive.html +147 -0
  64. package/docs/functions/keyArchiveInfoFromKeyData.html +147 -0
  65. package/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +147 -0
  66. package/docs/functions/mapGraphQLToClientError.html +154 -0
  67. package/docs/functions/mapNetworkErrorToClientError.html +154 -0
  68. package/docs/index.html +134 -2
  69. package/docs/interfaces/AsymmetricEncryptionOptions.html +68 -3
  70. package/docs/interfaces/BooleanFilter.html +75 -3
  71. package/docs/interfaces/ConfigurationManager.html +191 -35
  72. package/docs/interfaces/KeyData.html +106 -8
  73. package/docs/interfaces/ListOperationFailureResult.html +76 -5
  74. package/docs/interfaces/ListOperationPartialResult.html +101 -9
  75. package/docs/interfaces/ListOperationSuccessResult.html +90 -7
  76. package/docs/interfaces/ListOutput.html +80 -3
  77. package/docs/interfaces/Logger.html +251 -45
  78. package/docs/interfaces/Owner.html +72 -1
  79. package/docs/interfaces/PublicKey.html +72 -1
  80. package/docs/interfaces/ServiceCompatibilityInfo.html +106 -13
  81. package/docs/interfaces/StringFilter.html +82 -3
  82. package/docs/interfaces/SudoCryptoProvider.html +860 -175
  83. package/docs/interfaces/SudoKeyArchive.html +245 -42
  84. package/docs/interfaces/SudoKeyManager.html +842 -169
  85. package/docs/interfaces/SymmetricEncryptionOptions.html +75 -3
  86. package/docs/interfaces/ValidationResult.html +79 -7
  87. package/docs/modules.html +248 -33
  88. package/docs/types/AppSyncError.html +138 -0
  89. package/docs/types/AppSyncNetworkError.html +138 -0
  90. package/docs/types/InsecureKeyArchive.html +138 -0
  91. package/docs/types/KeyArchive.html +138 -0
  92. package/docs/types/KeyArchiveKeyInfo.html +154 -0
  93. package/docs/types/KeyArchiveKeyInfoDecoded.html +138 -0
  94. package/docs/types/ListOperationResult.html +148 -0
  95. package/docs/types/SecureKeyArchive.html +138 -0
  96. package/docs/types/Subset.html +144 -0
  97. package/docs/types/UnrecognizedKeyArchive.html +138 -0
  98. package/docs/variables/CURRENT_ARCHIVE_VERSION.html +138 -0
  99. package/docs/variables/InsecureKeyArchiveCodec.html +138 -0
  100. package/docs/variables/InsecureKeyArchiveType.html +138 -0
  101. package/docs/variables/KeyArchiveCodec.html +138 -0
  102. package/docs/variables/KeyArchiveKeyInfoArrayCodec.html +138 -0
  103. package/docs/variables/KeyArchiveKeyInfoCodec.html +138 -0
  104. package/docs/variables/KeyArchiveKeyTypeCodec.html +138 -0
  105. package/docs/variables/SecureKeyArchiveCodec.html +138 -0
  106. package/docs/variables/SecureKeyArchiveType.html +138 -0
  107. package/docs/variables/UnrecognizedKeyArchiveCodec.html +138 -0
  108. package/github/.gitignore +2 -1
  109. package/github/.yarn/releases/{yarn-1.22.18.cjs → yarn-1.22.19.cjs} +13 -4
  110. package/github/.yarnrc +1 -1
  111. package/github/bin/outdated-with-suppression.sh +117 -11
  112. package/github/bin/suppress-outdated.sh +36 -9
  113. package/github/docs/assets/highlight.css +11 -11
  114. package/github/docs/assets/main.js +4 -2
  115. package/github/docs/assets/search.js +1 -1
  116. package/github/docs/assets/style.css +427 -617
  117. package/github/docs/classes/AccountLockedError.html +163 -8
  118. package/github/docs/classes/AuthenticationError.html +168 -8
  119. package/github/docs/classes/Base64.html +134 -3
  120. package/github/docs/classes/Buffer.html +158 -3
  121. package/github/docs/classes/ConfigurationNotSetError.html +163 -8
  122. package/github/docs/classes/ConfigurationSetNotFoundError.html +168 -8
  123. package/github/docs/classes/DecodeError.html +168 -8
  124. package/github/docs/classes/DefaultConfigurationManager.html +206 -18
  125. package/github/docs/classes/DefaultLogger.html +291 -25
  126. package/github/docs/classes/DefaultSudoKeyArchive.html +337 -39
  127. package/github/docs/classes/DefaultSudoKeyManager.html +813 -63
  128. package/github/docs/classes/FatalError.html +168 -8
  129. package/github/docs/classes/IllegalArgumentError.html +168 -8
  130. package/github/docs/classes/IllegalStateError.html +168 -8
  131. package/github/docs/classes/InsufficientEntitlementsError.html +163 -8
  132. package/github/docs/classes/InvalidOwnershipProofError.html +163 -8
  133. package/github/docs/classes/InvalidTokenError.html +163 -8
  134. package/github/docs/classes/KeyArchiveDecodingError.html +168 -8
  135. package/github/docs/classes/KeyArchiveIncorrectPasswordError.html +168 -8
  136. package/github/docs/classes/KeyArchiveMissingError.html +168 -8
  137. package/github/docs/classes/KeyArchiveNoPasswordRequiredError.html +168 -8
  138. package/github/docs/classes/KeyArchivePasswordRequiredError.html +168 -8
  139. package/github/docs/classes/KeyArchiveTypeError.html +168 -8
  140. package/github/docs/classes/KeyArchiveUnknownKeyTypeError.html +168 -8
  141. package/github/docs/classes/KeyArchiveVersionError.html +168 -8
  142. package/github/docs/classes/KeyNotFoundError.html +168 -8
  143. package/github/docs/classes/KeyStoreNotExportableError.html +168 -8
  144. package/github/docs/classes/LimitExceededError.html +163 -8
  145. package/github/docs/classes/NoEntitlementsError.html +163 -8
  146. package/github/docs/classes/NotAuthorizedError.html +168 -8
  147. package/github/docs/classes/NotRegisteredError.html +168 -8
  148. package/github/docs/classes/NotSignedInError.html +163 -8
  149. package/github/docs/classes/OperationNotImplementedError.html +168 -8
  150. package/github/docs/classes/RegisterError.html +168 -8
  151. package/github/docs/classes/RequestFailedError.html +188 -12
  152. package/github/docs/classes/ServiceError.html +168 -8
  153. package/github/docs/classes/SignOutError.html +168 -8
  154. package/github/docs/classes/SudoCryptoProviderDefaults.html +106 -1
  155. package/github/docs/classes/UnknownGraphQLError.html +168 -8
  156. package/github/docs/classes/UnrecognizedAlgorithmError.html +168 -8
  157. package/github/docs/classes/UserNotConfirmedError.html +163 -8
  158. package/github/docs/classes/VersionMismatchError.html +163 -8
  159. package/github/docs/enums/CachePolicy.html +71 -3
  160. package/github/docs/enums/EncryptionAlgorithm.html +78 -3
  161. package/github/docs/enums/KeyArchiveKeyType.html +86 -4
  162. package/github/docs/enums/KeyDataKeyFormat.html +84 -10
  163. package/github/docs/enums/KeyDataKeyType.html +85 -3
  164. package/github/docs/enums/ListOperationResultStatus.html +84 -9
  165. package/github/docs/enums/PublicKeyFormat.html +68 -1
  166. package/github/docs/functions/isAppSyncNetworkError.html +147 -0
  167. package/github/docs/functions/isInsecureKeyArchive.html +147 -0
  168. package/github/docs/functions/isSecureKeyArchive.html +147 -0
  169. package/github/docs/functions/isUnrecognizedKeyArchive.html +147 -0
  170. package/github/docs/functions/keyArchiveInfoFromKeyData.html +147 -0
  171. package/github/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +147 -0
  172. package/github/docs/functions/mapGraphQLToClientError.html +154 -0
  173. package/github/docs/functions/mapNetworkErrorToClientError.html +154 -0
  174. package/github/docs/index.html +134 -2
  175. package/github/docs/interfaces/AsymmetricEncryptionOptions.html +68 -3
  176. package/github/docs/interfaces/BooleanFilter.html +75 -3
  177. package/github/docs/interfaces/ConfigurationManager.html +191 -35
  178. package/github/docs/interfaces/KeyData.html +106 -8
  179. package/github/docs/interfaces/ListOperationFailureResult.html +76 -5
  180. package/github/docs/interfaces/ListOperationPartialResult.html +101 -9
  181. package/github/docs/interfaces/ListOperationSuccessResult.html +90 -7
  182. package/github/docs/interfaces/ListOutput.html +80 -3
  183. package/github/docs/interfaces/Logger.html +251 -45
  184. package/github/docs/interfaces/Owner.html +72 -1
  185. package/github/docs/interfaces/PublicKey.html +72 -1
  186. package/github/docs/interfaces/ServiceCompatibilityInfo.html +106 -13
  187. package/github/docs/interfaces/StringFilter.html +82 -3
  188. package/github/docs/interfaces/SudoCryptoProvider.html +860 -175
  189. package/github/docs/interfaces/SudoKeyArchive.html +245 -42
  190. package/github/docs/interfaces/SudoKeyManager.html +842 -169
  191. package/github/docs/interfaces/SymmetricEncryptionOptions.html +75 -3
  192. package/github/docs/interfaces/ValidationResult.html +79 -7
  193. package/github/docs/modules.html +248 -33
  194. package/github/docs/types/AppSyncError.html +138 -0
  195. package/github/docs/types/AppSyncNetworkError.html +138 -0
  196. package/github/docs/types/InsecureKeyArchive.html +138 -0
  197. package/github/docs/types/KeyArchive.html +138 -0
  198. package/github/docs/types/KeyArchiveKeyInfo.html +154 -0
  199. package/github/docs/types/KeyArchiveKeyInfoDecoded.html +138 -0
  200. package/github/docs/types/ListOperationResult.html +148 -0
  201. package/github/docs/types/SecureKeyArchive.html +138 -0
  202. package/github/docs/types/Subset.html +144 -0
  203. package/github/docs/types/UnrecognizedKeyArchive.html +138 -0
  204. package/github/docs/variables/CURRENT_ARCHIVE_VERSION.html +138 -0
  205. package/github/docs/variables/InsecureKeyArchiveCodec.html +138 -0
  206. package/github/docs/variables/InsecureKeyArchiveType.html +138 -0
  207. package/github/docs/variables/KeyArchiveCodec.html +138 -0
  208. package/github/docs/variables/KeyArchiveKeyInfoArrayCodec.html +138 -0
  209. package/github/docs/variables/KeyArchiveKeyInfoCodec.html +138 -0
  210. package/github/docs/variables/KeyArchiveKeyTypeCodec.html +138 -0
  211. package/github/docs/variables/SecureKeyArchiveCodec.html +138 -0
  212. package/github/docs/variables/SecureKeyArchiveType.html +138 -0
  213. package/github/docs/variables/UnrecognizedKeyArchiveCodec.html +138 -0
  214. package/github/package.json +25 -17
  215. package/github/src/sudoKeyArchive/sudoKeyArchive.ts +1 -1
  216. package/github/src/sudoKeyManager/sudoCryptoProvider.ts +44 -3
  217. package/github/src/sudoKeyManager/sudoKeyManager.ts +64 -6
  218. package/github/test/unit/sudoKeyManager.spec.ts +12 -12
  219. package/github/yarn.lock +1012 -735
  220. package/lib/sudoKeyArchive/sudoKeyArchive.d.ts +1 -1
  221. package/lib/sudoKeyArchive/sudoKeyArchive.js +1 -1
  222. package/lib/sudoKeyManager/sudoCryptoProvider.d.ts +34 -3
  223. package/lib/sudoKeyManager/sudoKeyManager.d.ts +32 -4
  224. package/lib/sudoKeyManager/sudoKeyManager.js +16 -4
  225. package/package.json +26 -18
  226. package/src/sudoKeyArchive/sudoKeyArchive.ts +1 -1
  227. package/src/sudoKeyManager/sudoCryptoProvider.ts +44 -3
  228. package/src/sudoKeyManager/sudoKeyManager.ts +64 -6
  229. package/test/unit/sudoKeyManager.spec.ts +12 -12
  230. package/yarn.lock +1012 -735
  231. package/docs/assets/icons.css +0 -1043
  232. package/docs/assets/icons.png +0 -0
  233. package/docs/assets/icons@2x.png +0 -0
  234. package/github/docs/assets/icons.css +0 -1043
  235. package/github/docs/assets/icons.png +0 -0
  236. package/github/docs/assets/icons@2x.png +0 -0
@@ -91,7 +91,7 @@ export interface SudoCryptoProvider {
91
91
  *
92
92
  * @param name The name of the symmetric key.
93
93
  */
94
- doesSymmetricKeyExists(name: string): Promise<boolean>
94
+ doesSymmetricKeyExist(name: string): Promise<boolean>
95
95
 
96
96
  /**
97
97
  * Deletes a symmetric key from the secure store.
@@ -138,6 +138,36 @@ export interface SudoCryptoProvider {
138
138
  */
139
139
  deleteKeyPair(name: string): Promise<void>
140
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
+
141
171
  /**
142
172
  * Adds a private key to the secure store.
143
173
  *
@@ -160,7 +190,7 @@ export interface SudoCryptoProvider {
160
190
  *
161
191
  * @param name The name of the private key.
162
192
  */
163
- doesPrivateKeyExists(name: string): Promise<boolean>
193
+ doesPrivateKeyExist(name: string): Promise<boolean>
164
194
 
165
195
  /**
166
196
  * Adds a public key to the secure store.
@@ -170,6 +200,13 @@ export interface SudoCryptoProvider {
170
200
  */
171
201
  addPublicKey(key: ArrayBuffer, name: string): Promise<void>
172
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
+
173
210
  /**
174
211
  * Retrieves the public key from the secure store.
175
212
  *
@@ -211,6 +248,7 @@ export interface SudoCryptoProvider {
211
248
  * @returns Encrypted data and IV
212
249
  *
213
250
  * @throws {@link UnrecognizedAlgorithmError}
251
+ * @throws {@link KeyNotFoundError}
214
252
  */
215
253
  encryptWithSymmetricKeyName(
216
254
  name: string,
@@ -244,6 +282,7 @@ export interface SudoCryptoProvider {
244
282
  * @returns Decrypted data
245
283
  *
246
284
  * @throws {@link UnrecognizedAlgorithmError}
285
+ * @throws {@link KeyNotFoundError}
247
286
  */
248
287
  decryptWithSymmetricKeyName(
249
288
  name: string,
@@ -326,6 +365,7 @@ export interface SudoCryptoProvider {
326
365
  * @returns Encrypted data
327
366
  *
328
367
  * @throws {@link UnrecognizedAlgorithmError}
368
+ * @throws {@link KeyNotFoundError}
329
369
  */
330
370
  encryptWithPublicKey(
331
371
  name: string,
@@ -339,9 +379,10 @@ export interface SudoCryptoProvider {
339
379
  * @param name The name of the private key to use for decryption.
340
380
  * @param data The data to decrypt.
341
381
  *
342
- * @returns Decrypted data or undefined if the private key is not found.
382
+ * @returns Decrypted data.
343
383
  *
344
384
  * @throws {@link UnrecognizedAlgorithmError}
385
+ * @throws {@link KeyNotFoundError}
345
386
  */
346
387
  decryptWithPrivateKey(
347
388
  name: string,
@@ -68,7 +68,7 @@ export interface SudoKeyManager {
68
68
  *
69
69
  * @param name The name of the symmetric key.
70
70
  */
71
- doesSymmetricKeyExists(name: string): Promise<boolean>
71
+ doesSymmetricKeyExist(name: string): Promise<boolean>
72
72
 
73
73
  /**
74
74
  * Deletes a symmetric key from the secure store.
@@ -99,7 +99,7 @@ export interface SudoKeyManager {
99
99
  *
100
100
  * @param name The name of the private key.
101
101
  */
102
- doesPrivateKeyExists(name: string): Promise<boolean>
102
+ doesPrivateKeyExist(name: string): Promise<boolean>
103
103
 
104
104
  /**
105
105
  * Adds a public key to the secure store.
@@ -111,6 +111,13 @@ export interface SudoKeyManager {
111
111
  */
112
112
  addPublicKey(key: ArrayBuffer, name: string): Promise<void>
113
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
+
114
121
  /**
115
122
  * Retrieves the public key from the secure store.
116
123
  *
@@ -129,6 +136,34 @@ export interface SudoKeyManager {
129
136
  */
130
137
  deleteKeyPair(name: string): Promise<void>
131
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
+
132
167
  /**
133
168
  * @deprecated Use version with `options` param.
134
169
  *
@@ -393,8 +428,8 @@ export class DefaultSudoKeyManager implements SudoKeyManager {
393
428
  return this.sudoCryptoProvider.getSymmetricKey(name)
394
429
  }
395
430
 
396
- public doesSymmetricKeyExists(name: string): Promise<boolean> {
397
- return this.sudoCryptoProvider.doesSymmetricKeyExists(name)
431
+ public doesSymmetricKeyExist(name: string): Promise<boolean> {
432
+ return this.sudoCryptoProvider.doesSymmetricKeyExist(name)
398
433
  }
399
434
 
400
435
  public deleteSymmetricKey(name: string): Promise<void> {
@@ -413,14 +448,18 @@ export class DefaultSudoKeyManager implements SudoKeyManager {
413
448
  return this.sudoCryptoProvider.getPrivateKey(name)
414
449
  }
415
450
 
416
- public doesPrivateKeyExists(name: string): Promise<boolean> {
417
- return this.sudoCryptoProvider.doesPrivateKeyExists(name)
451
+ public doesPrivateKeyExist(name: string): Promise<boolean> {
452
+ return this.sudoCryptoProvider.doesPrivateKeyExist(name)
418
453
  }
419
454
 
420
455
  public addPublicKey(key: ArrayBuffer, name: string): Promise<void> {
421
456
  return this.sudoCryptoProvider.addPublicKey(key, name)
422
457
  }
423
458
 
459
+ public deletePublicKey(name: string): Promise<void> {
460
+ return this.sudoCryptoProvider.deletePublicKey(name)
461
+ }
462
+
424
463
  public getPublicKey(name: string): Promise<PublicKey | undefined> {
425
464
  return this.sudoCryptoProvider.getPublicKey(name)
426
465
  }
@@ -429,6 +468,25 @@ export class DefaultSudoKeyManager implements SudoKeyManager {
429
468
  return this.sudoCryptoProvider.deleteKeyPair(name)
430
469
  }
431
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
+
432
490
  public encryptWithSymmetricKey(
433
491
  key: ArrayBuffer,
434
492
  data: ArrayBuffer,
@@ -177,21 +177,21 @@ describe('DefaultSudoKeyManager', () => {
177
177
  })
178
178
  })
179
179
 
180
- describe('doesSymmetricKeyExists', () => {
181
- it('should call crypto provider doesSymmetricKeyExists', async () => {
180
+ describe('doesSymmetricKeyExist', () => {
181
+ it('should call crypto provider doesSymmetricKeyExist', async () => {
182
182
  when(
183
- sudoCryptoProviderMock.doesSymmetricKeyExists(anything()),
183
+ sudoCryptoProviderMock.doesSymmetricKeyExist(anything()),
184
184
  ).thenResolve(true)
185
185
 
186
186
  await expect(
187
- sudoKeyManager.doesSymmetricKeyExists('VpnKey'),
187
+ sudoKeyManager.doesSymmetricKeyExist('VpnKey'),
188
188
  ).resolves.toEqual(true)
189
189
  const [actualKey] = capture(
190
- sudoCryptoProviderMock.doesSymmetricKeyExists,
190
+ sudoCryptoProviderMock.doesSymmetricKeyExist,
191
191
  ).first()
192
192
  expect(actualKey).toStrictEqual('VpnKey')
193
193
 
194
- verify(sudoCryptoProviderMock.doesSymmetricKeyExists(anything())).once()
194
+ verify(sudoCryptoProviderMock.doesSymmetricKeyExist(anything())).once()
195
195
  })
196
196
  })
197
197
 
@@ -281,22 +281,22 @@ describe('DefaultSudoKeyManager', () => {
281
281
  })
282
282
  })
283
283
 
284
- describe('doesPrivateKeyExists', () => {
285
- it('should call crypto provider doesPrivateKeyExists', async () => {
286
- when(sudoCryptoProviderMock.doesPrivateKeyExists(anything())).thenResolve(
284
+ describe('doesPrivateKeyExist', () => {
285
+ it('should call crypto provider doesPrivateKeyExist', async () => {
286
+ when(sudoCryptoProviderMock.doesPrivateKeyExist(anything())).thenResolve(
287
287
  true,
288
288
  )
289
289
 
290
290
  await expect(
291
- sudoKeyManager.doesPrivateKeyExists('VpnKeyPair'),
291
+ sudoKeyManager.doesPrivateKeyExist('VpnKeyPair'),
292
292
  ).resolves.toBeTruthy()
293
293
 
294
294
  const [actualKeyName] = capture(
295
- sudoCryptoProviderMock.doesPrivateKeyExists,
295
+ sudoCryptoProviderMock.doesPrivateKeyExist,
296
296
  ).first()
297
297
  expect(actualKeyName).toStrictEqual('VpnKeyPair')
298
298
 
299
- verify(sudoCryptoProviderMock.doesPrivateKeyExists(anything())).once()
299
+ verify(sudoCryptoProviderMock.doesPrivateKeyExist(anything())).once()
300
300
  })
301
301
  })
302
302