@enbox/crypto 0.0.2 → 0.0.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 (182) hide show
  1. package/README.md +34 -102
  2. package/dist/browser.js +6 -10
  3. package/dist/browser.js.map +4 -4
  4. package/dist/browser.mjs +6 -10
  5. package/dist/browser.mjs.map +4 -4
  6. package/dist/esm/algorithms/aes-gcm.js +1 -1
  7. package/dist/esm/algorithms/aes-gcm.js.map +1 -1
  8. package/dist/esm/algorithms/ecdsa.js +9 -5
  9. package/dist/esm/algorithms/ecdsa.js.map +1 -1
  10. package/dist/esm/algorithms/eddsa.js +9 -5
  11. package/dist/esm/algorithms/eddsa.js.map +1 -1
  12. package/dist/esm/algorithms/sha-2.js +1 -1
  13. package/dist/esm/algorithms/sha-2.js.map +1 -1
  14. package/dist/esm/crypto-error.js +41 -0
  15. package/dist/esm/crypto-error.js.map +1 -0
  16. package/dist/esm/index.js +3 -0
  17. package/dist/esm/index.js.map +1 -1
  18. package/dist/esm/jose/jwk.js +52 -26
  19. package/dist/esm/jose/jwk.js.map +1 -1
  20. package/dist/esm/local-key-manager.js +3 -2
  21. package/dist/esm/local-key-manager.js.map +1 -1
  22. package/dist/esm/primitives/aes-ctr.js.map +1 -1
  23. package/dist/esm/primitives/aes-gcm.js.map +1 -1
  24. package/dist/esm/primitives/aes-kw.js +246 -0
  25. package/dist/esm/primitives/aes-kw.js.map +1 -0
  26. package/dist/esm/primitives/concat-kdf.js +1 -1
  27. package/dist/esm/primitives/concat-kdf.js.map +1 -1
  28. package/dist/esm/primitives/ed25519.js +3 -3
  29. package/dist/esm/primitives/ed25519.js.map +1 -1
  30. package/dist/esm/primitives/hkdf.js +79 -0
  31. package/dist/esm/primitives/hkdf.js.map +1 -0
  32. package/dist/esm/primitives/pbkdf2.js +49 -0
  33. package/dist/esm/primitives/pbkdf2.js.map +1 -1
  34. package/dist/esm/primitives/secp256k1.js +4 -4
  35. package/dist/esm/primitives/secp256k1.js.map +1 -1
  36. package/dist/esm/primitives/secp256r1.js +4 -4
  37. package/dist/esm/primitives/secp256r1.js.map +1 -1
  38. package/dist/esm/primitives/x25519.js +1 -1
  39. package/dist/esm/primitives/x25519.js.map +1 -1
  40. package/dist/esm/primitives/xchacha20-poly1305.js +48 -3
  41. package/dist/esm/primitives/xchacha20-poly1305.js.map +1 -1
  42. package/dist/esm/primitives/xchacha20.js +1 -1
  43. package/dist/esm/primitives/xchacha20.js.map +1 -1
  44. package/dist/esm/utils.js.map +1 -1
  45. package/dist/types/algorithms/aes-ctr.d.ts +1 -1
  46. package/dist/types/algorithms/aes-ctr.d.ts.map +1 -1
  47. package/dist/types/algorithms/aes-gcm.d.ts +2 -2
  48. package/dist/types/algorithms/aes-gcm.d.ts.map +1 -1
  49. package/dist/types/algorithms/ecdsa.d.ts +1 -1
  50. package/dist/types/algorithms/ecdsa.d.ts.map +1 -1
  51. package/dist/types/algorithms/eddsa.d.ts +2 -2
  52. package/dist/types/algorithms/eddsa.d.ts.map +1 -1
  53. package/dist/types/algorithms/sha-2.d.ts +1 -1
  54. package/dist/types/algorithms/sha-2.d.ts.map +1 -1
  55. package/dist/types/crypto-error.d.ts +29 -0
  56. package/dist/types/crypto-error.d.ts.map +1 -0
  57. package/dist/types/index.d.ts +3 -0
  58. package/dist/types/index.d.ts.map +1 -1
  59. package/dist/types/jose/jwk.d.ts.map +1 -1
  60. package/dist/types/local-key-manager.d.ts +3 -3
  61. package/dist/types/local-key-manager.d.ts.map +1 -1
  62. package/dist/types/primitives/aes-kw.d.ts +103 -0
  63. package/dist/types/primitives/aes-kw.d.ts.map +1 -0
  64. package/dist/types/primitives/concat-kdf.d.ts +1 -1
  65. package/dist/types/primitives/concat-kdf.d.ts.map +1 -1
  66. package/dist/types/primitives/hkdf.d.ts +90 -0
  67. package/dist/types/primitives/hkdf.d.ts.map +1 -0
  68. package/dist/types/primitives/pbkdf2.d.ts +58 -0
  69. package/dist/types/primitives/pbkdf2.d.ts.map +1 -1
  70. package/dist/types/primitives/xchacha20-poly1305.d.ts +47 -0
  71. package/dist/types/primitives/xchacha20-poly1305.d.ts.map +1 -1
  72. package/dist/types/types/cipher.d.ts +1 -1
  73. package/dist/types/types/crypto-api.d.ts +3 -3
  74. package/dist/types/types/crypto-api.d.ts.map +1 -1
  75. package/dist/types/types/params-direct.d.ts +79 -1
  76. package/dist/types/types/params-direct.d.ts.map +1 -1
  77. package/dist/utils.js.map +2 -2
  78. package/package.json +26 -39
  79. package/src/algorithms/aes-ctr.ts +1 -1
  80. package/src/algorithms/aes-gcm.ts +3 -2
  81. package/src/algorithms/ecdsa.ts +13 -7
  82. package/src/algorithms/eddsa.ts +9 -9
  83. package/src/algorithms/sha-2.ts +2 -2
  84. package/src/crypto-error.ts +45 -0
  85. package/src/index.ts +3 -0
  86. package/src/jose/jwk.ts +32 -32
  87. package/src/local-key-manager.ts +14 -13
  88. package/src/primitives/aes-ctr.ts +1 -1
  89. package/src/primitives/aes-gcm.ts +5 -5
  90. package/src/primitives/aes-kw.ts +269 -0
  91. package/src/primitives/concat-kdf.ts +4 -2
  92. package/src/primitives/ed25519.ts +6 -6
  93. package/src/primitives/hkdf.ts +121 -0
  94. package/src/primitives/pbkdf2.ts +91 -0
  95. package/src/primitives/secp256k1.ts +6 -6
  96. package/src/primitives/secp256r1.ts +6 -6
  97. package/src/primitives/x25519.ts +3 -3
  98. package/src/primitives/xchacha20-poly1305.ts +57 -4
  99. package/src/primitives/xchacha20.ts +1 -1
  100. package/src/types/cipher.ts +1 -1
  101. package/src/types/crypto-api.ts +5 -5
  102. package/src/types/params-direct.ts +97 -1
  103. package/src/utils.ts +2 -2
  104. package/dist/cjs/algorithms/aes-ctr.js +0 -188
  105. package/dist/cjs/algorithms/aes-ctr.js.map +0 -1
  106. package/dist/cjs/algorithms/aes-gcm.js +0 -196
  107. package/dist/cjs/algorithms/aes-gcm.js.map +0 -1
  108. package/dist/cjs/algorithms/crypto-algorithm.js +0 -13
  109. package/dist/cjs/algorithms/crypto-algorithm.js.map +0 -1
  110. package/dist/cjs/algorithms/ecdsa.js +0 -352
  111. package/dist/cjs/algorithms/ecdsa.js.map +0 -1
  112. package/dist/cjs/algorithms/eddsa.js +0 -325
  113. package/dist/cjs/algorithms/eddsa.js.map +0 -1
  114. package/dist/cjs/algorithms/sha-2.js +0 -119
  115. package/dist/cjs/algorithms/sha-2.js.map +0 -1
  116. package/dist/cjs/index.js +0 -41
  117. package/dist/cjs/index.js.map +0 -1
  118. package/dist/cjs/jose/jwe.js +0 -3
  119. package/dist/cjs/jose/jwe.js.map +0 -1
  120. package/dist/cjs/jose/jwk.js +0 -278
  121. package/dist/cjs/jose/jwk.js.map +0 -1
  122. package/dist/cjs/jose/jws.js +0 -3
  123. package/dist/cjs/jose/jws.js.map +0 -1
  124. package/dist/cjs/jose/jwt.js +0 -3
  125. package/dist/cjs/jose/jwt.js.map +0 -1
  126. package/dist/cjs/jose/utils.js +0 -60
  127. package/dist/cjs/jose/utils.js.map +0 -1
  128. package/dist/cjs/local-key-manager.js +0 -521
  129. package/dist/cjs/local-key-manager.js.map +0 -1
  130. package/dist/cjs/package.json +0 -1
  131. package/dist/cjs/primitives/aes-ctr.js +0 -398
  132. package/dist/cjs/primitives/aes-ctr.js.map +0 -1
  133. package/dist/cjs/primitives/aes-gcm.js +0 -425
  134. package/dist/cjs/primitives/aes-gcm.js.map +0 -1
  135. package/dist/cjs/primitives/concat-kdf.js +0 -215
  136. package/dist/cjs/primitives/concat-kdf.js.map +0 -1
  137. package/dist/cjs/primitives/ed25519.js +0 -651
  138. package/dist/cjs/primitives/ed25519.js.map +0 -1
  139. package/dist/cjs/primitives/pbkdf2.js +0 -120
  140. package/dist/cjs/primitives/pbkdf2.js.map +0 -1
  141. package/dist/cjs/primitives/secp256k1.js +0 -958
  142. package/dist/cjs/primitives/secp256k1.js.map +0 -1
  143. package/dist/cjs/primitives/secp256r1.js +0 -959
  144. package/dist/cjs/primitives/secp256r1.js.map +0 -1
  145. package/dist/cjs/primitives/sha256.js +0 -93
  146. package/dist/cjs/primitives/sha256.js.map +0 -1
  147. package/dist/cjs/primitives/x25519.js +0 -498
  148. package/dist/cjs/primitives/x25519.js.map +0 -1
  149. package/dist/cjs/primitives/xchacha20-poly1305.js +0 -340
  150. package/dist/cjs/primitives/xchacha20-poly1305.js.map +0 -1
  151. package/dist/cjs/primitives/xchacha20.js +0 -316
  152. package/dist/cjs/primitives/xchacha20.js.map +0 -1
  153. package/dist/cjs/types/cipher.js +0 -3
  154. package/dist/cjs/types/cipher.js.map +0 -1
  155. package/dist/cjs/types/crypto-api.js +0 -3
  156. package/dist/cjs/types/crypto-api.js.map +0 -1
  157. package/dist/cjs/types/hasher.js +0 -3
  158. package/dist/cjs/types/hasher.js.map +0 -1
  159. package/dist/cjs/types/identifier.js +0 -3
  160. package/dist/cjs/types/identifier.js.map +0 -1
  161. package/dist/cjs/types/key-compressor.js +0 -3
  162. package/dist/cjs/types/key-compressor.js.map +0 -1
  163. package/dist/cjs/types/key-converter.js +0 -3
  164. package/dist/cjs/types/key-converter.js.map +0 -1
  165. package/dist/cjs/types/key-deriver.js +0 -3
  166. package/dist/cjs/types/key-deriver.js.map +0 -1
  167. package/dist/cjs/types/key-generator.js +0 -3
  168. package/dist/cjs/types/key-generator.js.map +0 -1
  169. package/dist/cjs/types/key-io.js +0 -3
  170. package/dist/cjs/types/key-io.js.map +0 -1
  171. package/dist/cjs/types/key-wrapper.js +0 -3
  172. package/dist/cjs/types/key-wrapper.js.map +0 -1
  173. package/dist/cjs/types/params-direct.js +0 -3
  174. package/dist/cjs/types/params-direct.js.map +0 -1
  175. package/dist/cjs/types/params-enclosed.js +0 -3
  176. package/dist/cjs/types/params-enclosed.js.map +0 -1
  177. package/dist/cjs/types/params-kms.js +0 -3
  178. package/dist/cjs/types/params-kms.js.map +0 -1
  179. package/dist/cjs/types/signer.js +0 -3
  180. package/dist/cjs/types/signer.js.map +0 -1
  181. package/dist/cjs/utils.js +0 -173
  182. package/dist/cjs/utils.js.map +0 -1
package/README.md CHANGED
@@ -1,7 +1,9 @@
1
- # Web5 Crypto API
1
+ # Enbox Crypto API
2
2
 
3
- | A cryptography and JOSE library for building secure Web5 applications |
4
- | --------------------------------------------------------------------- |
3
+ > **Research Preview** Enbox is under active development. APIs may change without notice.
4
+
5
+ | A cryptography and JOSE library for building secure decentralized applications |
6
+ | ------------------------------------------------------------------------------ |
5
7
 
6
8
  [![NPM Package][crypto-npm-badge]][crypto-npm-link]
7
9
  [![NPM Downloads][crypto-downloads-badge]][crypto-npm-link]
@@ -12,7 +14,7 @@
12
14
 
13
15
  ---
14
16
 
15
- - [Web5 Crypto API](#web5-crypto-api)
17
+ - [Enbox Crypto API](#enbox-crypto-api)
16
18
  - [Supported Algorithms \& Key Types](#supported-algorithms--key-types)
17
19
  - [Extensions](#extensions)
18
20
  - [Getting Started](#getting-started)
@@ -46,7 +48,7 @@
46
48
 
47
49
  <a id="introduction"></a>
48
50
 
49
- The Web5 Crypto API is a core component of the [Web5 JS](https://github.com/enboxorg/enbox/enbox)
51
+ The Enbox Crypto API is a core component of the [Enbox](https://github.com/enboxorg/enbox)
50
52
  ecosystem, providing the cryptography and JSON Object Signing and Encryption (JOSE) capabilities
51
53
  essential for building secure applications and services with Decentralized Identifiers
52
54
  ([DID](https://www.w3.org/TR/did-core/)) and Verifiable Credentials
@@ -56,7 +58,7 @@ This JavaScript library was designed for modern development runtimes, including
56
58
  browsers, and React Native. It provides cryptographic functionality for cipher, hash, and signature
57
59
  algorithms and basic JOSE support for JSON Web Key (JWK). Additionally, it includes the crypto
58
60
  interfaces and local Key Management System (KMS) implementation that are used by
59
- [other libraries](https://github.com/enboxorg/enbox/enbox) in this monorepo.
61
+ [other libraries](https://github.com/enboxorg/enbox) in this monorepo.
60
62
 
61
63
  ### Supported Algorithms & Key Types
62
64
 
@@ -81,33 +83,22 @@ Packages that extend the functionality of the `@enbox/crypto` library:
81
83
 
82
84
  ## Getting Started
83
85
 
84
- The Web5 Crypto API is distributed as `@enbox/crypto` via [npmjs.com][crypto-npm-link],
86
+ The Enbox Crypto API is distributed as `@enbox/crypto` via [npmjs.com][crypto-npm-link],
85
87
  [jsdelivr.com][crypto-jsdelivr-link], [unpkg.com][crypto-unpkg-link], and
86
88
  [github.com][crypto-repo-link].
87
89
 
88
- ### Node.js
89
-
90
- This library is designed and tested for the _active_ (`v20`) and _maintenance_
91
- (`v18`) [LTS releases](https://nodejs.org/en/about/previous-releases) of Node.js
90
+ ### Node.js / Bun
92
91
 
93
- Install the latest version of `@enbox/crypto` using `npm` or your preferred package manager:
92
+ Install using `bun` or your preferred package manager:
94
93
 
95
94
  ```shell
96
- npm install @enbox/crypto
95
+ bun add @enbox/crypto
97
96
  ```
98
97
 
99
- Example ESM import:
100
-
101
98
  ```js
102
99
  import { Ed25519 } from "@enbox/crypto";
103
100
  ```
104
101
 
105
- Example CJS require:
106
-
107
- ```js
108
- const { Ed25519 } = require("@enbox/crypto");
109
- ```
110
-
111
102
  ### Web Browsers
112
103
 
113
104
  A polyfilled distribution is published to [jsdelivr.com][crypto-jsdelivr-browser] and
@@ -153,19 +144,19 @@ We welcome you to join our open source community. Whether you're new to open sou
153
144
  contributor, there's a place for you here. From coding to documentation, every contribution matters.
154
145
  Check out our [contribution guide][contributing-link] for ways to get started.
155
146
 
156
- For help, discussion about best practices, or to chat with others building on Web5 join our
147
+ For help, discussion about best practices, or to chat with others building on Enbox join our
157
148
  [Discord Server][discord-link]:
158
149
 
159
150
  [![discord-badge]][discord-link]
160
151
 
161
152
  Remember, contributing is not just about code; it's about building together. Join us in shaping the
162
- future of the Web!
153
+ future of decentralized applications!
163
154
 
164
155
  ## Core Concepts
165
156
 
166
157
  ### Key URIs
167
158
 
168
- One of the core design principles for the SDKs in the Web5 ecosystem is the protection of private
159
+ One of the core design principles for the SDKs in the Enbox ecosystem is the protection of private
169
160
  key material. Instead of directly handling sensitive key information, our SDKs interact with
170
161
  cryptographic keys through Key Management Systems (KMS) referenced by a unique identifier called a
171
162
  **Key URI**. This approach ensures that private keys remain secure, while still allowing for
@@ -182,7 +173,7 @@ a prefix. The following table shows the format of supported **Key URIs**:
182
173
  All cryptographic keys are represented in JSON Web Key
183
174
  ([JWK](https://datatracker.ietf.org/doc/html/rfc7517)) format and the `jwk-thumbprint`, a
184
175
  [standardized](https://datatracker.ietf.org/doc/html/rfc7638), deterministic, and unique hash of the
185
- key, acts as a fingerprint, enabling consistent key referencing across all Web5 libraries without
176
+ key, acts as a fingerprint, enabling consistent key referencing across all Enbox libraries without
186
177
  exposing private key information.
187
178
 
188
179
  ### Using a Local KMS
@@ -203,7 +194,7 @@ const kms = new LocalKeyManager();
203
194
  ```
204
195
 
205
196
  An ephemeral, in-memory key store is used by default but any persistent store that implements the
206
- [`KeyValueStore`](https://github.com/enboxorg/enbox/enbox/blob/5f364bc0d859e28f1388524ebe8ef152a71727c4/packages/common/src/types.ts#L4-L43)
197
+ [`KeyValueStore`](https://github.com/enboxorg/enbox/blob/main/packages/common/src/types.ts)
207
198
  interface can also be passed. See the [Persistent Key Store](#persistent-key-store) customization
208
199
  for an example.
209
200
 
@@ -262,57 +253,11 @@ console.log(isValid);
262
253
  // Output: true
263
254
  ```
264
255
 
265
- Export the private key:
266
-
267
- ```ts
268
- const privateKey = await kms.exportKey({ keyUri });
269
- console.log(privateKey);
270
- // Output:
271
- // {
272
- // kty: "OKP",
273
- // crv: "Ed25519",
274
- // alg: "EdDSA",
275
- // kid: "8DaTzHZcvQXUVvl8ezQKgGQHza1hiOZlPkdrB55Vt6Q",
276
- // x: "6alAHg28tLuqWtaj0YOg7d5ySM4ERwPqQrLoy2pwdZk",
277
- // d: "0xLuQyXFaWjrqp2o0orhwvwhtYhp2Z7KeRcioIs78CY"
278
- // }
279
- ```
280
-
281
- Import a private key generated by another library:
282
-
283
- ```ts
284
- import type { Jwk } from "@enbox/crypto";
285
-
286
- const privateKey: Jwk = {
287
- kty: "OKP",
288
- crv: "Ed25519",
289
- x: "0thnrEFw6MVSs1XFgd4OD-Yn05XGQv24hvskmGajtKQ",
290
- d: "0xLuQyXFaWjrqp2o0orhwvwhtYhp2Z7KeRcioIs78CY",
291
- };
292
-
293
- const keyUri = await kms.importKey({ key: privateKey });
294
- ```
295
-
296
- Compute the hash digest of arbitrary data:
297
-
298
- ```ts
299
- const data = new TextEncoder().encode("Message");
300
- const hash = await kms.digest({ algorithm: "SHA-256", data });
301
- console.log(hash);
302
- // Output:
303
- // Uint8Array(32) [
304
- // 8, 187, 94, 93, 110, 170, 193, 4,
305
- // 158, 222, 8, 147, 211, 14, 208, 34,
306
- // 177, 164, 217, 181, 180, 141, 180, 20,
307
- // 135, 31, 81, 201, 203, 53, 40, 61
308
- // ]
309
- ```
310
-
311
256
  ### JSON Web Key (JWK)
312
257
 
313
258
  A JSON Web Key (JWK) is a [standardized](https://datatracker.ietf.org/doc/html/rfc7517) format for
314
259
  representing cryptographic keys in a JSON data structure. The JWK format is used by all
315
- [Web5 SDKs](https://github.com/enboxorg/enbox/sdk-development) to promote portability and
260
+ [Enbox SDKs](https://github.com/enboxorg/enbox) to promote portability and
316
261
  interoperability.
317
262
 
318
263
  Defining a JWK:
@@ -339,19 +284,6 @@ console.log(thumbprint);
339
284
  // Output: VhWyK5rpk2u_51_KniJxjRhwTUOsL8BLuKJaqpNYuEA
340
285
  ```
341
286
 
342
- The provided type guard functions can be used for type narrowing or to perform runtime verification
343
- of a specific JWK key type:
344
-
345
- ```ts
346
- isPublicJwk(publicKey); // true
347
- isPrivateJwk(publicKey); // false
348
- isOkpPublicJwk(publicKey); // true
349
- isOkpPrivateJwk(publicKey); // false
350
- isOctPrivateJwk(publicKey); // false
351
- isEcPublicJwk(publicKey); // false
352
- isEcPrivateJwk(publicKey); // false
353
- ```
354
-
355
287
  ### Random Number Generation
356
288
 
357
289
  Cryptographically strong random number generation is vital in cryptography. The unpredictability of
@@ -359,7 +291,7 @@ these random numbers is crucial for creating secure cryptographic keys, initiali
359
291
  nonces (numbers used once). Their strength lies in their resistance to being guessed or replicated,
360
292
  making them foundational to maintaining the integrity and confidentiality of cryptographic systems.
361
293
 
362
- The Web5 Crypto API includes two utility functions for random number generation:
294
+ The Enbox Crypto API includes two utility functions for random number generation:
363
295
 
364
296
  #### `randomBytes()`
365
297
 
@@ -411,7 +343,7 @@ const uuid = CryptoUtils.randomUuid();
411
343
 
412
344
  By default, `LocalKeyManager` uses an in-memory key store to simplify prototyping and testing.
413
345
  To persist keys that are generated or imported, an implementation of the
414
- [`KeyValueStore`](https://github.com/enboxorg/enbox/enbox/blob/5f364bc0d859e28f1388524ebe8ef152a71727c4/packages/common/src/types.ts#L4-L43)
346
+ [`KeyValueStore`](https://github.com/enboxorg/enbox/blob/main/packages/common/src/types.ts)
415
347
  interface can be passed.
416
348
 
417
349
  For example, to use the [LevelDB](https://github.com/Level/level)-backed store from `@enbox/common`:
@@ -687,22 +619,22 @@ const decryptedData = await XChaCha20Poly1305.decrypt({
687
619
  [crypto-npm-badge]: https://img.shields.io/npm/v/@enbox/crypto.svg?style=flat&color=blue&santize=true
688
620
  [crypto-npm-link]: https://www.npmjs.com/package/@enbox/crypto
689
621
  [crypto-downloads-badge]: https://img.shields.io/npm/dt/@enbox/crypto?&color=blue
690
- [crypto-build-badge]: https://img.shields.io/github/actions/workflow/status/enboxorg/enbox/enbox/tests-ci.yml?branch=main&label=build
691
- [crypto-build-link]: https://github.com/enboxorg/enbox/enbox/actions/workflows/tests-ci.yml
692
- [crypto-coverage-badge]: https://img.shields.io/codecov/c/gh/enboxorg/enbox/enbox/main?style=flat&token=YI87CKF1LI
693
- [crypto-coverage-link]: https://app.codecov.io/github/enboxorg/enbox/enbox/tree/main/packages%2Fcrypto
694
- [crypto-issues-badge]: https://img.shields.io/github/issues/enboxorg/enbox/enbox/package:%20crypto?label=issues
695
- [crypto-issues-link]: https://github.com/enboxorg/enbox/enbox/issues?q=is%3Aopen+is%3Aissue+label%3A"package%3A+crypto"
696
- [crypto-aws-kms-repo-link]: https://github.com/enboxorg/enbox/enbox/tree/main/packages/crypto-aws-kms
697
- [crypto-repo-link]: https://github.com/enboxorg/enbox/enbox/tree/main/packages/crypto
622
+ [crypto-build-badge]: https://img.shields.io/github/actions/workflow/status/enboxorg/enbox/tests-ci.yml?branch=main&label=build
623
+ [crypto-build-link]: https://github.com/enboxorg/enbox/actions/workflows/tests-ci.yml
624
+ [crypto-coverage-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/LiranCohen/02d15f39a46173a612a8862ec6d7cfcf/raw/crypto.json
625
+ [crypto-coverage-link]: https://github.com/enboxorg/enbox/actions/workflows/ci.yml
626
+ [crypto-issues-badge]: https://img.shields.io/github/issues/enboxorg/enbox/package:%20crypto?label=issues
627
+ [crypto-issues-link]: https://github.com/enboxorg/enbox/issues?q=is%3Aopen+is%3Aissue+label%3A"package%3A+crypto"
628
+ [crypto-aws-kms-repo-link]: https://github.com/enboxorg/enbox/tree/main/packages/crypto-aws-kms
629
+ [crypto-repo-link]: https://github.com/enboxorg/enbox/tree/main/packages/crypto
698
630
  [crypto-jsdelivr-link]: https://www.jsdelivr.com/package/npm/@enbox/crypto
699
631
  [crypto-jsdelivr-browser]: https://cdn.jsdelivr.net/npm/@enbox/crypto/dist/browser.mjs
700
632
  [crypto-unpkg-link]: https://unpkg.com/@enbox/crypto
701
633
  [crypto-unpkg-browser]: https://unpkg.com/@enbox/crypto/dist/browser.mjs
702
- [codeowners-link]: https://github.com/enboxorg/enbox/enbox/blob/main/CODEOWNERS
703
- [code-of-conduct-link]: https://github.com/enboxorg/enbox/enbox/blob/main/CODE_OF_CONDUCT.md
704
- [contributing-link]: https://github.com/enboxorg/enbox/enbox/blob/main/CONTRIBUTING.md
705
- [governance-link]: https://github.com/enboxorg/enbox/enbox/blob/main/GOVERNANCE.md
706
- [license-link]: https://github.com/enboxorg/enbox/enbox/blob/main/LICENSE
634
+ [codeowners-link]: https://github.com/enboxorg/enbox/blob/main/CODEOWNERS
635
+ [code-of-conduct-link]: https://github.com/enboxorg/enbox/blob/main/CODE_OF_CONDUCT.md
636
+ [contributing-link]: https://github.com/enboxorg/enbox/blob/main/CONTRIBUTING.md
637
+ [governance-link]: https://github.com/enboxorg/enbox/blob/main/GOVERNANCE.md
638
+ [license-link]: https://github.com/enboxorg/enbox/blob/main/LICENSE
707
639
  [discord-badge]: https://img.shields.io/discord/937858703112155166?color=5865F2&logo=discord&logoColor=white
708
- [discord-link]: https://discord.com/channels/937858703112155166/969272658501976117
640
+ [discord-link]: https://discord.com/channels/937858703112155166/969272658501976117