@interop/x25519-key-agreement-key 4.0.1 → 5.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.
package/README.md CHANGED
@@ -90,7 +90,7 @@ const keyPair = await X25519KeyAgreementKey2020.generate({
90
90
  Serializing just the public key:
91
91
 
92
92
  ```js
93
- keyPair.export({publicKey: true});
93
+ await keyPair.export({publicKey: true});
94
94
  // ->
95
95
  {
96
96
  "id": "did:example:1234#z6LSeRSE5Em5oJpwdk3NBaLVERBS332ULC7EQq5EtMsmXhsM",
@@ -108,14 +108,14 @@ export declare class X25519KeyAgreementKey2020 extends AbstractKeyPair {
108
108
  * @param {boolean} [options.privateKey] - Export private key material?
109
109
  * @param {boolean} [options.includeContext] - Include JSON-LD context?
110
110
  *
111
- * @returns {object} A plain js object that's ready for serialization
111
+ * @returns {Promise<object>} A plain js object that's ready for serialization
112
112
  * (to JSON, etc), for use in DIDs etc.
113
113
  */
114
114
  export({ publicKey, privateKey, includeContext }?: {
115
115
  publicKey?: boolean;
116
116
  privateKey?: boolean;
117
117
  includeContext?: boolean;
118
- }): IVerificationKeyPair2020;
118
+ }): Promise<IVerificationKeyPair2020>;
119
119
  /**
120
120
  * Generates and returns a base58btc multibase encoded value of a multicodec
121
121
  * X25519 public key fingerprint (for use with cryptonyms, for example).
@@ -1 +1 @@
1
- {"version":3,"file":"X25519KeyAgreementKey2020.d.ts","sourceRoot":"","sources":["../src/X25519KeyAgreementKey2020.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"X25519KeyAgreementKey2020.d.ts","sourceRoot":"","sources":["../src/X25519KeyAgreementKey2020.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,OAAO,EACZ,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,8BAA8B,CAAA;AAsBrC;;;GAGG;AACH,UAAU,8BAA8B;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,qBAAa,yBAA0B,SAAQ,eAAe;IAE5D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAW;IAE/B,MAAM,CAAC,aAAa,EAAE,MAAM,CACuB;IAEnD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;;;;;;;;;;OAYG;gBACS,OAAO,GAAE,wBAA6B;IAmClD;;;;;;OAMG;WACU,QAAQ,CACnB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,yBAAyB,CAAC;IAgBrC;;;;;;;OAOG;WACU,IAAI,CACf,OAAO,GAAE,wBAAwB,GAAG;QAClC,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;KACrB,GACL,OAAO,CAAC,yBAAyB,CAAC;IASrC;;;;;;;;;;OAUG;WACU,6BAA6B,CAAC,EACzC,eAAe,EACf,gBAAgB,EAChB,GAAG,cAAc,EAClB,GAAE,wBAAwB,GAAG;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;KACrB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAyB3C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,8BAA8B,CAAC,EACpC,OAAO,EACR,EAAE;QACD,OAAO,EAAE,8BAA8B,CAAA;KACxC,GAAG,yBAAyB;IAiC7B;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,EAC5B,kBAAkB,EACnB,GAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IAqBhD;;;;;;OAMG;IACH,MAAM,CAAC,uBAAuB,CAAC,EAC7B,mBAAmB,EACpB,GAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IAoBjD;;;;;;;;;;OAUG;IACG,MAAM,CAAC,EACX,SAAiB,EACjB,UAAkB,EAClB,cAAsB,EACvB,GAAE;QACD,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,cAAc,CAAC,EAAE,OAAO,CAAA;KACpB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA4B1C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAAC,EAC9B,kBAAkB,EACnB,GAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IAQhD;;;;;;;;OAQG;IACH,MAAM,CAAC,eAAe,CAAC,EACrB,WAAW,EACZ,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,yBAAyB;IAM5D;;;;;;;;;;OAUG;IACG,YAAY,CAAC,EACjB,SAAS,EACV,EAAE;QACD,SAAS,EAAE;YAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC3C,GAAG,OAAO,CAAC,UAAU,CAAC;IAavB;;;;;;;OAOG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,EAChB,WAAW,EACZ,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,mBAAmB;IAYtD;;;;;OAKG;IACH,MAAM,IAAI,OAAO;IAMjB;;;;;OAKG;IACH,QAAQ,IAAI,SAAS;CAMtB"}
@@ -190,11 +190,6 @@ export class X25519KeyAgreementKey2020 extends AbstractKeyPair {
190
190
  // Converts a 64-byte Ed25519 secret key (or just the first 32-byte part of
191
191
  // it, which is the secret value) into a 32-byte Curve25519 secret key
192
192
  const dhPrivkeyBytes = ed25519SecretKeyToX25519(edPrivkeyBytes);
193
- // note: a future version should make this method async to allow use of
194
- // noble to convert private keys -- but the tweetnacl version used
195
- // internally is much faster (~ x100):
196
- // const {head: dhPrivkeyBytes} = await utils.getExtendedPublicKey(
197
- // edPrivkeyBytes.slice(0, 32));
198
193
  if (!dhPrivkeyBytes) {
199
194
  throw new Error('Error converting to X25519; Invalid Ed25519 private key.');
200
195
  }
@@ -208,10 +203,10 @@ export class X25519KeyAgreementKey2020 extends AbstractKeyPair {
208
203
  * @param {boolean} [options.privateKey] - Export private key material?
209
204
  * @param {boolean} [options.includeContext] - Include JSON-LD context?
210
205
  *
211
- * @returns {object} A plain js object that's ready for serialization
206
+ * @returns {Promise<object>} A plain js object that's ready for serialization
212
207
  * (to JSON, etc), for use in DIDs etc.
213
208
  */
214
- export({ publicKey = false, privateKey = false, includeContext = false } = {}) {
209
+ async export({ publicKey = false, privateKey = false, includeContext = false } = {}) {
215
210
  if (!(publicKey || privateKey)) {
216
211
  throw new TypeError('Export requires specifying either "publicKey" or "privateKey".');
217
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"X25519KeyAgreementKey2020.js","sourceRoot":"","sources":["../src/X25519KeyAgreementKey2020.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"X25519KeyAgreementKey2020.js","sourceRoot":"","sources":["../src/X25519KeyAgreementKey2020.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2021-2022 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
- export { deriveSecret, generateKeyPair, ed25519SecretKeyToX25519 } from './crypto-nacl.js';
4
+ export { deriveSecret, generateKeyPair, ed25519SecretKeyToX25519 } from './crypto-react-native.js';
5
5
  //# sourceMappingURL=crypto-browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto-browser.d.ts","sourceRoot":"","sources":["../src/crypto-browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACzB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"crypto-browser.d.ts","sourceRoot":"","sources":["../src/crypto-browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACzB,MAAM,0BAA0B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2021-2022 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
- export { deriveSecret, generateKeyPair, ed25519SecretKeyToX25519 } from './crypto-nacl.js';
4
+ export { deriveSecret, generateKeyPair, ed25519SecretKeyToX25519 } from './crypto-react-native.js';
5
5
  //# sourceMappingURL=crypto-browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto-browser.js","sourceRoot":"","sources":["../src/crypto-browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACzB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"crypto-browser.js","sourceRoot":"","sources":["../src/crypto-browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACzB,MAAM,0BAA0B,CAAA"}
@@ -11,4 +11,4 @@ export declare function generateKeyPair(): Promise<{
11
11
  privateKey: Uint8Array;
12
12
  }>;
13
13
  export declare function ed25519SecretKeyToX25519(secretKey: Uint8Array): Uint8Array;
14
- //# sourceMappingURL=crypto-nacl.d.ts.map
14
+ //# sourceMappingURL=crypto-react-native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-react-native.d.ts","sourceRoot":"","sources":["../src/crypto-react-native.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,wBAAsB,YAAY,CAAC,EACjC,UAAU,EACV,eAAe,EAChB,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,UAAU,CAAA;CAC5B,GAAG,OAAO,CAAC,UAAU,CAAC,CAEtB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAC,CAID;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,UAAU,CAM1E"}
@@ -0,0 +1,24 @@
1
+ /*!
2
+ * Copyright (c) 2021-2022 Digital Bazaar, Inc. All rights reserved.
3
+ */
4
+ import { x25519, ed25519 } from '@noble/curves/ed25519.js';
5
+ /**
6
+ * Note: The following two functions are async to match the signature of
7
+ * their native Node.js counterparts (see './crypto.js').
8
+ */
9
+ export async function deriveSecret({ privateKey, remotePublicKey }) {
10
+ return x25519.getSharedSecret(privateKey, remotePublicKey);
11
+ }
12
+ export async function generateKeyPair() {
13
+ // Each is a Uint8Array with 32-byte key
14
+ const { secretKey: privateKey, publicKey } = x25519.keygen();
15
+ return { publicKey, privateKey };
16
+ }
17
+ export function ed25519SecretKeyToX25519(secretKey) {
18
+ // `toMontgomerySecret` hashes and clamps the 32-byte Ed25519 secret seed.
19
+ // The historical input here is a 64-byte Ed25519 secret key of which only
20
+ // the first 32 bytes (the seed) are used; noble throws on a 64-byte input,
21
+ // so slice to the seed to preserve existing behavior.
22
+ return ed25519.utils.toMontgomerySecret(secretKey.slice(0, 32));
23
+ }
24
+ //# sourceMappingURL=crypto-react-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-react-native.js","sourceRoot":"","sources":["../src/crypto-react-native.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAE1D;;;GAGG;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,UAAU,EACV,eAAe,EAIhB;IACC,OAAO,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IAInC,wCAAwC;IACxC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAqB;IAC5D,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,sDAAsD;IACtD,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AACjE,CAAC"}
package/dist/crypto.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as cryptoNacl from './crypto-nacl.js';
1
+ import * as cryptoFallback from './crypto-react-native.js';
2
2
  declare let deriveSecret: (options: {
3
3
  privateKey: Uint8Array;
4
4
  remotePublicKey: Uint8Array;
@@ -8,6 +8,6 @@ declare let generateKeyPair: () => Promise<{
8
8
  privateKey: Uint8Array;
9
9
  }>;
10
10
  export { deriveSecret, generateKeyPair };
11
- declare const ed25519SecretKeyToX25519: typeof cryptoNacl.ed25519SecretKeyToX25519;
11
+ declare const ed25519SecretKeyToX25519: typeof cryptoFallback.ed25519SecretKeyToX25519;
12
12
  export { ed25519SecretKeyToX25519 };
13
13
  //# sourceMappingURL=crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAiD9C,QAAA,IAAI,YAAY,EAAE,CAAC,OAAO,EAAE;IAC1B,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,UAAU,CAAA;CAC5B,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AACzB,QAAA,IAAI,eAAe,EAAE,MAAM,OAAO,CAAC;IACjC,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAC,CAAA;AASF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA;AAExC,QAAA,MAAQ,wBAAwB,4CAAe,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAiD1D,QAAA,IAAI,YAAY,EAAE,CAAC,OAAO,EAAE;IAC1B,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,UAAU,CAAA;CAC5B,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AACzB,QAAA,IAAI,eAAe,EAAE,MAAM,OAAO,CAAC;IACjC,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAC,CAAA;AASF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA;AAExC,QAAA,MAAQ,wBAAwB,gDAAmB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
package/dist/crypto.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2021-2022 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
4
  import * as crypto from 'crypto';
5
- import * as cryptoNacl from './crypto-nacl.js';
5
+ import * as cryptoFallback from './crypto-react-native.js';
6
6
  import { promisify } from 'util';
7
7
  const PUBLIC_KEY_DER_PREFIX = new Uint8Array([
8
8
  48, 42, 48, 5, 6, 3, 43, 101, 110, 3, 33, 0
@@ -43,10 +43,10 @@ if (typeof crypto.diffieHellman === 'function') {
43
43
  generateKeyPair = generateKeyPairNative;
44
44
  }
45
45
  else {
46
- deriveSecret = cryptoNacl.deriveSecret;
47
- generateKeyPair = cryptoNacl.generateKeyPair;
46
+ deriveSecret = cryptoFallback.deriveSecret;
47
+ generateKeyPair = cryptoFallback.generateKeyPair;
48
48
  }
49
49
  export { deriveSecret, generateKeyPair };
50
- const { ed25519SecretKeyToX25519 } = cryptoNacl;
50
+ const { ed25519SecretKeyToX25519 } = cryptoFallback;
51
51
  export { ed25519SecretKeyToX25519 };
52
52
  //# sourceMappingURL=crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEhC,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC;IAC3C,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;CAC5C,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC;IAC5C,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;CACzD,CAAC,CAAA;AAEF,KAAK,UAAU,kBAAkB,CAAC,EAChC,UAAU,EACV,eAAe,EAIhB;IACC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;KACd,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,aAAa,CAAC;QAC1B,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,aAAa;KACzB,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB;IAIlC,MAAM,oBAAoB,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAC9D,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,GAC9D,MAAM,oBAAoB,CAAC,QAAQ,EAAE;QACnC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAClD,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;KACrD,CAAC,CAAA;IACJ,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACrD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAClC,CAAC;AAED,IAAI,YAGqB,CAAA;AACzB,IAAI,eAGF,CAAA;AACF,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;IAC/C,YAAY,GAAG,kBAAkB,CAAA;IACjC,eAAe,GAAG,qBAAqB,CAAA;AACzC,CAAC;KAAM,CAAC;IACN,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACtC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAA;AAC9C,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA;AAExC,MAAM,EAAE,wBAAwB,EAAE,GAAG,UAAU,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEhC,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC;IAC3C,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;CAC5C,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC;IAC5C,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;CACzD,CAAC,CAAA;AAEF,KAAK,UAAU,kBAAkB,CAAC,EAChC,UAAU,EACV,eAAe,EAIhB;IACC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;KACd,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,aAAa,CAAC;QAC1B,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,aAAa;KACzB,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB;IAIlC,MAAM,oBAAoB,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAC9D,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,GAC9D,MAAM,oBAAoB,CAAC,QAAQ,EAAE;QACnC,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAClD,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;KACrD,CAAC,CAAA;IACJ,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACrD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAClC,CAAC;AAED,IAAI,YAGqB,CAAA;AACzB,IAAI,eAGF,CAAA;AACF,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;IAC/C,YAAY,GAAG,kBAAkB,CAAA;IACjC,eAAe,GAAG,qBAAqB,CAAA;AACzC,CAAC;KAAM,CAAC;IACN,YAAY,GAAG,cAAc,CAAC,YAAY,CAAA;IAC1C,eAAe,GAAG,cAAc,CAAC,eAAe,CAAA;AAClD,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA;AAExC,MAAM,EAAE,wBAAwB,EAAE,GAAG,cAAc,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interop/x25519-key-agreement-key",
3
- "version": "4.0.1",
3
+ "version": "5.0.0",
4
4
  "description": "An X25519 (Curve25519) DH (Diffie-Hellman) key implementation to work with the X25519 2020 Crypto suite.",
5
5
  "homepage": "https://github.com/interop-alliance/x25519-key-agreement-key",
6
6
  "repository": {
@@ -20,7 +20,8 @@
20
20
  ".": {
21
21
  "types": "./dist/index.d.ts",
22
22
  "react-native": "./dist/index.js",
23
- "import": "./dist/index.js"
23
+ "import": "./dist/index.js",
24
+ "default": "./dist/index.js"
24
25
  },
25
26
  "./package.json": "./package.json"
26
27
  },
@@ -34,14 +35,13 @@
34
35
  "buffer": false,
35
36
  "crypto": false,
36
37
  "util": false,
37
- "./dist/crypto.js": "./dist/crypto-nacl.js"
38
+ "./dist/crypto.js": "./dist/crypto-react-native.js"
38
39
  },
39
40
  "sideEffects": false,
40
41
  "dependencies": {
41
- "@interop/data-integrity-core": "^6.1.1",
42
+ "@interop/data-integrity-core": "^8.0.0",
42
43
  "@noble/curves": "^2.2.0",
43
- "@scure/base": "^2.2.0",
44
- "tweetnacl": "^1.0.3"
44
+ "@scure/base": "^2.2.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@digitalbazaar/x25519-key-agreement-key-2019": "^6.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto-nacl.d.ts","sourceRoot":"","sources":["../src/crypto-nacl.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,wBAAsB,YAAY,CAAC,EACjC,UAAU,EACV,eAAe,EAChB,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,UAAU,CAAA;CAC5B,GAAG,OAAO,CAAC,UAAU,CAAC,CAEtB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,SAAS,EAAE,UAAU,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAC,CAID;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,UAAU,CAiB1E"}
@@ -1,31 +0,0 @@
1
- /*!
2
- * Copyright (c) 2021-2022 Digital Bazaar, Inc. All rights reserved.
3
- */
4
- import nacl from 'tweetnacl';
5
- /**
6
- * Note: The following two functions are async to match the signature of
7
- * their native Node.js counterparts (see './crypto.js').
8
- */
9
- export async function deriveSecret({ privateKey, remotePublicKey }) {
10
- return nacl.scalarMult(privateKey, remotePublicKey);
11
- }
12
- export async function generateKeyPair() {
13
- // Each is a Uint8Array with 32-byte key
14
- const { publicKey, secretKey: privateKey } = nacl.box.keyPair();
15
- return { publicKey, privateKey };
16
- }
17
- export function ed25519SecretKeyToX25519(secretKey) {
18
- const hash = new Uint8Array(64);
19
- // X25519 secret key is the first 32 bytes of the hash with clamped values.
20
- // `nacl.lowlevel` is not covered by tweetnacl's published type definitions.
21
- const { lowlevel } = nacl;
22
- lowlevel.crypto_hash(hash, secretKey, 32);
23
- hash[0] &= 248;
24
- hash[31] &= 127;
25
- hash[31] |= 64;
26
- const x25519SecretKey = hash.slice(0, 32);
27
- // zero-fill remainder of hash before returning
28
- hash.fill(0, 32);
29
- return x25519SecretKey;
30
- }
31
- //# sourceMappingURL=crypto-nacl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto-nacl.js","sourceRoot":"","sources":["../src/crypto-nacl.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;;GAGG;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,UAAU,EACV,eAAe,EAIhB;IACC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IAInC,wCAAwC;IACxC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;IAC/D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAqB;IAC5D,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC/B,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,EAAE,QAAQ,EAAE,GAAG,IAIpB,CAAA;IACD,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;IACzC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;IACd,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAA;IACf,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IACd,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACzC,+CAA+C;IAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChB,OAAO,eAAe,CAAA;AACxB,CAAC"}