@libp2p/crypto 4.1.9-737b3ea5b → 4.1.9-81ebe4e47
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/dist/index.min.js +4 -5
- package/dist/src/ciphers/aes-gcm.browser.js +1 -1
- package/dist/src/ciphers/aes-gcm.browser.js.map +1 -1
- package/dist/src/ciphers/index.d.ts +2 -0
- package/dist/src/ciphers/index.d.ts.map +1 -0
- package/dist/src/ciphers/index.js +2 -0
- package/dist/src/ciphers/index.js.map +1 -0
- package/dist/src/errors.d.ts +19 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +28 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/hmac/{index-browser.d.ts → index.browser.d.ts} +1 -1
- package/dist/src/hmac/{index-browser.d.ts.map → index.browser.d.ts.map} +1 -1
- package/dist/src/hmac/{index-browser.js → index.browser.js} +2 -2
- package/dist/src/hmac/{index-browser.js.map → index.browser.js.map} +1 -1
- package/dist/src/keys/ecdh/index.browser.d.ts +4 -0
- package/dist/src/keys/ecdh/index.browser.d.ts.map +1 -0
- package/dist/src/keys/{ecdh-browser.js → ecdh/index.browser.js} +13 -11
- package/dist/src/keys/ecdh/index.browser.js.map +1 -0
- package/dist/src/keys/{ecdh.d.ts → ecdh/index.d.ts} +4 -3
- package/dist/src/keys/ecdh/index.d.ts.map +1 -0
- package/dist/src/keys/{ecdh.js → ecdh/index.js} +4 -4
- package/dist/src/keys/ecdh/index.js.map +1 -0
- package/dist/src/keys/ed25519/ed25519.d.ts +23 -0
- package/dist/src/keys/ed25519/ed25519.d.ts.map +1 -0
- package/dist/src/keys/ed25519/ed25519.js +54 -0
- package/dist/src/keys/ed25519/ed25519.js.map +1 -0
- package/dist/src/keys/{ed25519-browser.d.ts → ed25519/index.browser.d.ts} +2 -2
- package/dist/src/keys/ed25519/index.browser.d.ts.map +1 -0
- package/dist/src/keys/{ed25519-browser.js → ed25519/index.browser.js} +1 -1
- package/dist/src/keys/ed25519/index.browser.js.map +1 -0
- package/dist/src/keys/{ed25519.d.ts → ed25519/index.d.ts} +2 -2
- package/dist/src/keys/ed25519/index.d.ts.map +1 -0
- package/dist/src/keys/{ed25519.js → ed25519/index.js} +1 -1
- package/dist/src/keys/ed25519/index.js.map +1 -0
- package/dist/src/keys/ed25519/utils.d.ts +7 -0
- package/dist/src/keys/ed25519/utils.d.ts.map +1 -0
- package/dist/src/keys/ed25519/utils.js +36 -0
- package/dist/src/keys/ed25519/utils.js.map +1 -0
- package/dist/src/keys/ephemeral-keys.d.ts +2 -2
- package/dist/src/keys/ephemeral-keys.d.ts.map +1 -1
- package/dist/src/keys/ephemeral-keys.js +2 -2
- package/dist/src/keys/ephemeral-keys.js.map +1 -1
- package/dist/src/keys/index.d.ts +33 -36
- package/dist/src/keys/index.d.ts.map +1 -1
- package/dist/src/keys/index.js +93 -83
- package/dist/src/keys/index.js.map +1 -1
- package/dist/src/keys/key-stretcher.d.ts.map +1 -1
- package/dist/src/keys/key-stretcher.js +9 -7
- package/dist/src/keys/key-stretcher.js.map +1 -1
- package/dist/src/keys/keys.d.ts +4 -4
- package/dist/src/keys/keys.d.ts.map +1 -1
- package/dist/src/keys/keys.js +21 -15
- package/dist/src/keys/keys.js.map +1 -1
- package/dist/src/keys/rsa/index.browser.d.ts +11 -0
- package/dist/src/keys/rsa/index.browser.d.ts.map +1 -0
- package/dist/src/keys/{rsa-browser.js → rsa/index.browser.js} +10 -39
- package/dist/src/keys/rsa/index.browser.js.map +1 -0
- package/dist/src/keys/rsa/index.d.ts +11 -0
- package/dist/src/keys/rsa/index.d.ts.map +1 -0
- package/dist/src/keys/{rsa.js → rsa/index.js} +8 -22
- package/dist/src/keys/rsa/index.js.map +1 -0
- package/dist/src/keys/rsa/rsa.d.ts +28 -0
- package/dist/src/keys/rsa/rsa.d.ts.map +1 -0
- package/dist/src/keys/rsa/rsa.js +65 -0
- package/dist/src/keys/rsa/rsa.js.map +1 -0
- package/dist/src/keys/rsa/utils.d.ts +34 -0
- package/dist/src/keys/rsa/utils.d.ts.map +1 -0
- package/dist/src/keys/rsa/utils.js +193 -0
- package/dist/src/keys/rsa/utils.js.map +1 -0
- package/dist/src/keys/secp256k1/index.browser.d.ts +10 -0
- package/dist/src/keys/secp256k1/index.browser.d.ts.map +1 -0
- package/dist/src/keys/secp256k1/index.browser.js +41 -0
- package/dist/src/keys/secp256k1/index.browser.js.map +1 -0
- package/dist/src/keys/secp256k1/index.d.ts +10 -0
- package/dist/src/keys/secp256k1/index.d.ts.map +1 -0
- package/dist/src/keys/secp256k1/index.js +47 -0
- package/dist/src/keys/secp256k1/index.js.map +1 -0
- package/dist/src/keys/secp256k1/secp256k1.d.ts +24 -0
- package/dist/src/keys/secp256k1/secp256k1.d.ts.map +1 -0
- package/dist/src/keys/secp256k1/secp256k1.js +53 -0
- package/dist/src/keys/secp256k1/secp256k1.js.map +1 -0
- package/dist/src/keys/secp256k1/utils.d.ts +13 -0
- package/dist/src/keys/secp256k1/utils.d.ts.map +1 -0
- package/dist/src/keys/secp256k1/utils.js +53 -0
- package/dist/src/keys/secp256k1/utils.js.map +1 -0
- package/dist/src/pbkdf2.js +2 -2
- package/dist/src/pbkdf2.js.map +1 -1
- package/dist/src/random-bytes.js +2 -2
- package/dist/src/random-bytes.js.map +1 -1
- package/dist/src/webcrypto/index.d.ts +3 -0
- package/dist/src/webcrypto/index.d.ts.map +1 -0
- package/dist/src/webcrypto/index.js +3 -0
- package/dist/src/webcrypto/index.js.map +1 -0
- package/dist/src/{webcrypto-browser.d.ts → webcrypto/webcrypto.browser.d.ts} +1 -1
- package/dist/src/webcrypto/webcrypto.browser.d.ts.map +1 -0
- package/dist/src/{webcrypto-browser.js → webcrypto/webcrypto.browser.js} +4 -3
- package/dist/src/webcrypto/webcrypto.browser.js.map +1 -0
- package/dist/src/webcrypto/webcrypto.d.ts.map +1 -0
- package/dist/src/webcrypto/webcrypto.js.map +1 -0
- package/package.json +16 -8
- package/src/ciphers/aes-gcm.browser.ts +1 -1
- package/src/ciphers/index.ts +1 -0
- package/src/errors.ts +29 -0
- package/src/hmac/{index-browser.ts → index.browser.ts} +1 -1
- package/src/keys/{ecdh-browser.ts → ecdh/index.browser.ts} +16 -13
- package/src/keys/{ecdh.ts → ecdh/index.ts} +6 -4
- package/src/keys/ed25519/ed25519.ts +68 -0
- package/src/keys/{ed25519-browser.ts → ed25519/index.browser.ts} +1 -1
- package/src/keys/{ed25519.ts → ed25519/index.ts} +1 -1
- package/src/keys/ed25519/utils.ts +42 -0
- package/src/keys/ephemeral-keys.ts +2 -2
- package/src/keys/index.ts +110 -92
- package/src/keys/key-stretcher.ts +15 -8
- package/src/keys/keys.proto +1 -1
- package/src/keys/keys.ts +21 -16
- package/src/keys/{rsa-browser.ts → rsa/index.browser.ts} +10 -56
- package/src/keys/{rsa.ts → rsa/index.ts} +8 -23
- package/src/keys/rsa/rsa.ts +83 -0
- package/src/keys/rsa/utils.ts +235 -0
- package/src/keys/secp256k1/index.browser.ts +45 -0
- package/src/keys/secp256k1/index.ts +51 -0
- package/src/keys/secp256k1/secp256k1.ts +68 -0
- package/src/keys/secp256k1/utils.ts +63 -0
- package/src/pbkdf2.ts +2 -2
- package/src/random-bytes.ts +2 -2
- package/src/webcrypto/index.ts +3 -0
- package/src/webcrypto/webcrypto.browser.ts +23 -0
- package/dist/src/keys/ecdh-browser.d.ts +0 -3
- package/dist/src/keys/ecdh-browser.d.ts.map +0 -1
- package/dist/src/keys/ecdh-browser.js.map +0 -1
- package/dist/src/keys/ecdh.d.ts.map +0 -1
- package/dist/src/keys/ecdh.js.map +0 -1
- package/dist/src/keys/ed25519-browser.d.ts.map +0 -1
- package/dist/src/keys/ed25519-browser.js.map +0 -1
- package/dist/src/keys/ed25519-class.d.ts +0 -42
- package/dist/src/keys/ed25519-class.d.ts.map +0 -1
- package/dist/src/keys/ed25519-class.js +0 -133
- package/dist/src/keys/ed25519-class.js.map +0 -1
- package/dist/src/keys/ed25519.d.ts.map +0 -1
- package/dist/src/keys/ed25519.js.map +0 -1
- package/dist/src/keys/exporter.d.ts +0 -8
- package/dist/src/keys/exporter.d.ts.map +0 -1
- package/dist/src/keys/exporter.js +0 -13
- package/dist/src/keys/exporter.js.map +0 -1
- package/dist/src/keys/importer.d.ts +0 -7
- package/dist/src/keys/importer.d.ts.map +0 -1
- package/dist/src/keys/importer.js +0 -13
- package/dist/src/keys/importer.js.map +0 -1
- package/dist/src/keys/rsa-browser.d.ts +0 -12
- package/dist/src/keys/rsa-browser.d.ts.map +0 -1
- package/dist/src/keys/rsa-browser.js.map +0 -1
- package/dist/src/keys/rsa-class.d.ts +0 -46
- package/dist/src/keys/rsa-class.d.ts.map +0 -1
- package/dist/src/keys/rsa-class.js +0 -135
- package/dist/src/keys/rsa-class.js.map +0 -1
- package/dist/src/keys/rsa-utils.d.ts +0 -20
- package/dist/src/keys/rsa-utils.d.ts.map +0 -1
- package/dist/src/keys/rsa-utils.js +0 -330
- package/dist/src/keys/rsa-utils.js.map +0 -1
- package/dist/src/keys/rsa.d.ts +0 -12
- package/dist/src/keys/rsa.d.ts.map +0 -1
- package/dist/src/keys/rsa.js.map +0 -1
- package/dist/src/keys/secp256k1-browser.d.ts +0 -18
- package/dist/src/keys/secp256k1-browser.d.ts.map +0 -1
- package/dist/src/keys/secp256k1-browser.js +0 -78
- package/dist/src/keys/secp256k1-browser.js.map +0 -1
- package/dist/src/keys/secp256k1-class.d.ts +0 -39
- package/dist/src/keys/secp256k1-class.d.ts.map +0 -1
- package/dist/src/keys/secp256k1-class.js +0 -109
- package/dist/src/keys/secp256k1-class.js.map +0 -1
- package/dist/src/keys/secp256k1.d.ts +0 -18
- package/dist/src/keys/secp256k1.d.ts.map +0 -1
- package/dist/src/keys/secp256k1.js +0 -84
- package/dist/src/keys/secp256k1.js.map +0 -1
- package/dist/src/webcrypto-browser.d.ts.map +0 -1
- package/dist/src/webcrypto-browser.js.map +0 -1
- package/dist/src/webcrypto.d.ts.map +0 -1
- package/dist/src/webcrypto.js.map +0 -1
- package/src/keys/ed25519-class.ts +0 -160
- package/src/keys/exporter.ts +0 -14
- package/src/keys/importer.ts +0 -13
- package/src/keys/rsa-class.ts +0 -172
- package/src/keys/rsa-utils.ts +0 -408
- package/src/keys/secp256k1-browser.ts +0 -87
- package/src/keys/secp256k1-class.ts +0 -133
- package/src/keys/secp256k1.ts +0 -93
- package/src/webcrypto-browser.ts +0 -24
- /package/dist/src/{webcrypto.d.ts → webcrypto/webcrypto.d.ts} +0 -0
- /package/dist/src/{webcrypto.js → webcrypto/webcrypto.js} +0 -0
- /package/src/{webcrypto.ts → webcrypto/webcrypto.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { concat } from 'uint8arrays/concat';
|
|
2
2
|
import { fromString } from 'uint8arrays/from-string';
|
|
3
|
-
import webcrypto from '../webcrypto.js';
|
|
3
|
+
import webcrypto from '../webcrypto/index.js';
|
|
4
4
|
// WebKit on Linux does not support deriving a key from an empty PBKDF2 key.
|
|
5
5
|
// So, as a workaround, we provide the generated key as a constant. We test that
|
|
6
6
|
// this generated key is accurate in test/workaround.spec.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aes-gcm.browser.js","sourceRoot":"","sources":["../../../src/ciphers/aes-gcm.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"aes-gcm.browser.js","sourceRoot":"","sources":["../../../src/ciphers/aes-gcm.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ciphers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ciphers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signing a message failed
|
|
3
|
+
*/
|
|
4
|
+
export declare class SigningError extends Error {
|
|
5
|
+
constructor(message?: string);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Verifying a message signature failed
|
|
9
|
+
*/
|
|
10
|
+
export declare class VerificationError extends Error {
|
|
11
|
+
constructor(message?: string);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* WebCrypto was not available in the current context
|
|
15
|
+
*/
|
|
16
|
+
export declare class WebCryptoMissingError extends Error {
|
|
17
|
+
constructor(message?: string);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACxB,OAAO,SAA8C;CAInE;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC7B,OAAO,SAAgD;CAIrE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBACjC,OAAO,SAA2B;CAIhD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signing a message failed
|
|
3
|
+
*/
|
|
4
|
+
export class SigningError extends Error {
|
|
5
|
+
constructor(message = 'An error occurred while signing a message') {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'SigningError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Verifying a message signature failed
|
|
12
|
+
*/
|
|
13
|
+
export class VerificationError extends Error {
|
|
14
|
+
constructor(message = 'An error occurred while verifying a message') {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = 'VerificationError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* WebCrypto was not available in the current context
|
|
21
|
+
*/
|
|
22
|
+
export class WebCryptoMissingError extends Error {
|
|
23
|
+
constructor(message = 'Missing Web Crypto API') {
|
|
24
|
+
super(message);
|
|
25
|
+
this.name = 'WebCryptoMissingError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAa,OAAO,GAAG,2CAA2C;QAChE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAa,OAAO,GAAG,6CAA6C;QAClE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAa,OAAO,GAAG,wBAAwB;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../src/hmac/index.browser.ts"],"names":[],"mappings":"AAcA,wBAAsB,MAAM,CAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBpK"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import webcrypto from '../webcrypto.js';
|
|
1
|
+
import webcrypto from '../webcrypto/index.js';
|
|
2
2
|
import lengths from './lengths.js';
|
|
3
3
|
const hashTypes = {
|
|
4
4
|
SHA1: 'SHA-1',
|
|
@@ -22,4 +22,4 @@ export async function create(hashType, secret) {
|
|
|
22
22
|
length: lengths[hashType]
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=index
|
|
25
|
+
//# sourceMappingURL=index.browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index
|
|
1
|
+
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../src/hmac/index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAA;AAC7C,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,MAAM,IAAI,GAAG,KAAK,EAAE,GAAc,EAAE,IAAgB,EAAuB,EAAE;IAC3E,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1E,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAE,QAAsC,EAAE,MAAkB;IACtF,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IAEhC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAChD,KAAK,EACL,MAAM,EACN;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KACrB,EACD,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAA;IAED,OAAO;QACL,KAAK,CAAC,MAAM,CAAE,IAAgB;YAC5B,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;KAC1B,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/ecdh/index.browser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAA0D,MAAM,iBAAiB,CAAA;AAWtG,wBAAsB,wBAAwB,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAkE9E"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InvalidParametersError } from '@libp2p/interface';
|
|
2
2
|
import { concat as uint8ArrayConcat } from 'uint8arrays/concat';
|
|
3
3
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
4
4
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
5
|
-
import { base64urlToBuffer } from '
|
|
6
|
-
import webcrypto from '
|
|
5
|
+
import { base64urlToBuffer } from '../../util.js';
|
|
6
|
+
import webcrypto from '../../webcrypto/index.js';
|
|
7
7
|
const bits = {
|
|
8
8
|
'P-256': 256,
|
|
9
9
|
'P-384': 384,
|
|
@@ -11,9 +11,9 @@ const bits = {
|
|
|
11
11
|
};
|
|
12
12
|
const curveTypes = Object.keys(bits);
|
|
13
13
|
const names = curveTypes.join(' / ');
|
|
14
|
-
export async function
|
|
14
|
+
export async function generateEphemeralKeyPair(curve) {
|
|
15
15
|
if (curve !== 'P-256' && curve !== 'P-384' && curve !== 'P-521') {
|
|
16
|
-
throw new
|
|
16
|
+
throw new InvalidParametersError(`Unknown curve: ${curve}. Must be ${names}`);
|
|
17
17
|
}
|
|
18
18
|
const pair = await webcrypto.get().subtle.generateKey({
|
|
19
19
|
name: 'ECDH',
|
|
@@ -60,10 +60,10 @@ const curveLengths = {
|
|
|
60
60
|
// go-ipfs uses)
|
|
61
61
|
function marshalPublicKey(jwk) {
|
|
62
62
|
if (jwk.crv == null || jwk.x == null || jwk.y == null) {
|
|
63
|
-
throw new
|
|
63
|
+
throw new InvalidParametersError('JWK was missing components');
|
|
64
64
|
}
|
|
65
65
|
if (jwk.crv !== 'P-256' && jwk.crv !== 'P-384' && jwk.crv !== 'P-521') {
|
|
66
|
-
throw new
|
|
66
|
+
throw new InvalidParametersError(`Unknown curve: ${jwk.crv}. Must be ${names}`);
|
|
67
67
|
}
|
|
68
68
|
const byteLen = curveLengths[jwk.crv];
|
|
69
69
|
return uint8ArrayConcat([
|
|
@@ -72,14 +72,16 @@ function marshalPublicKey(jwk) {
|
|
|
72
72
|
base64urlToBuffer(jwk.y, byteLen)
|
|
73
73
|
], 1 + byteLen * 2);
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Unmarshal converts a point, serialized by Marshal, into an jwk encoded key
|
|
77
|
+
*/
|
|
76
78
|
function unmarshalPublicKey(curve, key) {
|
|
77
79
|
if (curve !== 'P-256' && curve !== 'P-384' && curve !== 'P-521') {
|
|
78
|
-
throw new
|
|
80
|
+
throw new InvalidParametersError(`Unknown curve: ${curve}. Must be ${names}`);
|
|
79
81
|
}
|
|
80
82
|
const byteLen = curveLengths[curve];
|
|
81
83
|
if (!uint8ArrayEquals(key.subarray(0, 1), Uint8Array.from([4]))) {
|
|
82
|
-
throw new
|
|
84
|
+
throw new InvalidParametersError('Cannot unmarshal public key - invalid key format');
|
|
83
85
|
}
|
|
84
86
|
return {
|
|
85
87
|
kty: 'EC',
|
|
@@ -93,4 +95,4 @@ const unmarshalPrivateKey = (curve, key) => ({
|
|
|
93
95
|
...unmarshalPublicKey(curve, key.public),
|
|
94
96
|
d: uint8ArrayToString(key.private, 'base64url')
|
|
95
97
|
});
|
|
96
|
-
//# sourceMappingURL=
|
|
98
|
+
//# sourceMappingURL=index.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/ecdh/index.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ECDHKey } from '
|
|
1
|
+
import type { ECDHKey } from '../interface.js';
|
|
2
|
+
export type Curve = 'P-256' | 'P-384' | 'P-521';
|
|
2
3
|
/**
|
|
3
4
|
* Generates an ephemeral public key and returns a function that will compute the shared secret key.
|
|
4
5
|
*
|
|
5
6
|
* Focuses only on ECDH now, but can be made more general in the future.
|
|
6
7
|
*/
|
|
7
|
-
export declare function
|
|
8
|
-
//# sourceMappingURL=
|
|
8
|
+
export declare function generateEphemeralKeyPair(curve: Curve): Promise<ECDHKey>;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/ecdh/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,iBAAiB,CAAA;AAE3D,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAW/C;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB9E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import crypto from 'crypto';
|
|
2
|
-
import {
|
|
2
|
+
import { InvalidParametersError } from '@libp2p/interface';
|
|
3
3
|
const curves = {
|
|
4
4
|
'P-256': 'prime256v1',
|
|
5
5
|
'P-384': 'secp384r1',
|
|
@@ -12,9 +12,9 @@ const names = curveTypes.join(' / ');
|
|
|
12
12
|
*
|
|
13
13
|
* Focuses only on ECDH now, but can be made more general in the future.
|
|
14
14
|
*/
|
|
15
|
-
export async function
|
|
15
|
+
export async function generateEphemeralKeyPair(curve) {
|
|
16
16
|
if (curve !== 'P-256' && curve !== 'P-384' && curve !== 'P-521') {
|
|
17
|
-
throw new
|
|
17
|
+
throw new InvalidParametersError(`Unknown curve: ${curve}. Must be ${names}`);
|
|
18
18
|
}
|
|
19
19
|
const ecdh = crypto.createECDH(curves[curve]);
|
|
20
20
|
ecdh.generateKeys();
|
|
@@ -28,4 +28,4 @@ export async function generateEphmeralKeyPair(curve) {
|
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/ecdh/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAK1D,MAAM,MAAM,GAAG;IACb,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;CACrB,CAAA;AAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACtC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEpC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAE,KAAY;IAC1D,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAChE,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,KAAK,aAAa,KAAK,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7C,IAAI,CAAC,YAAY,EAAE,CAAA;IAEnB,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,YAAY,EAAgB;QAEtC,KAAK,CAAC,YAAY,CAAE,QAAoB,EAAE,YAA0B;YAClE,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAC1C,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACrC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CID } from 'multiformats/cid';
|
|
2
|
+
import { type Digest } from 'multiformats/hashes/digest';
|
|
3
|
+
import type { Ed25519PublicKey as Ed25519PublicKeyInterface, Ed25519PrivateKey as Ed25519PrivateKeyInterface } from '@libp2p/interface';
|
|
4
|
+
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
5
|
+
export declare class Ed25519PublicKey implements Ed25519PublicKeyInterface {
|
|
6
|
+
readonly type = "Ed25519";
|
|
7
|
+
readonly raw: Uint8Array;
|
|
8
|
+
constructor(key: Uint8Array);
|
|
9
|
+
toMultihash(): Digest<0x0, number>;
|
|
10
|
+
toCID(): CID<unknown, 114, 0x0, 1>;
|
|
11
|
+
toString(): string;
|
|
12
|
+
equals(key?: any): boolean;
|
|
13
|
+
verify(data: Uint8Array | Uint8ArrayList, sig: Uint8Array): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare class Ed25519PrivateKey implements Ed25519PrivateKeyInterface {
|
|
16
|
+
readonly type = "Ed25519";
|
|
17
|
+
readonly raw: Uint8Array;
|
|
18
|
+
readonly publicKey: Ed25519PublicKey;
|
|
19
|
+
constructor(key: Uint8Array, publicKey: Uint8Array);
|
|
20
|
+
equals(key?: any): boolean;
|
|
21
|
+
sign(message: Uint8Array | Uint8ArrayList): Uint8Array;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ed25519.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,OAAO,KAAK,EAAE,gBAAgB,IAAI,yBAAyB,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AACvI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,SAAgB,IAAI,aAAY;IAChC,SAAgB,GAAG,EAAE,UAAU,CAAA;gBAElB,GAAG,EAAE,UAAU;IAI5B,WAAW,IAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAInC,KAAK,IAAK,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAInC,QAAQ,IAAK,MAAM;IAInB,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO;CAGrE;AAED,qBAAa,iBAAkB,YAAW,0BAA0B;IAClE,SAAgB,IAAI,aAAY;IAChC,SAAgB,GAAG,EAAE,UAAU,CAAA;IAC/B,SAAgB,SAAS,EAAE,gBAAgB,CAAA;gBAI9B,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IAKnD,MAAM,CAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO;IAQ3B,IAAI,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU;CAGxD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { base58btc } from 'multiformats/bases/base58';
|
|
2
|
+
import { CID } from 'multiformats/cid';
|
|
3
|
+
import {} from 'multiformats/hashes/digest';
|
|
4
|
+
import { identity } from 'multiformats/hashes/identity';
|
|
5
|
+
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
6
|
+
import { publicKeyToProtobuf } from '../index.js';
|
|
7
|
+
import { ensureEd25519Key } from './utils.js';
|
|
8
|
+
import * as crypto from './index.js';
|
|
9
|
+
export class Ed25519PublicKey {
|
|
10
|
+
type = 'Ed25519';
|
|
11
|
+
raw;
|
|
12
|
+
constructor(key) {
|
|
13
|
+
this.raw = ensureEd25519Key(key, crypto.publicKeyLength);
|
|
14
|
+
}
|
|
15
|
+
toMultihash() {
|
|
16
|
+
return identity.digest(publicKeyToProtobuf(this));
|
|
17
|
+
}
|
|
18
|
+
toCID() {
|
|
19
|
+
return CID.createV1(114, this.toMultihash());
|
|
20
|
+
}
|
|
21
|
+
toString() {
|
|
22
|
+
return base58btc.encode(this.toMultihash().bytes).substring(1);
|
|
23
|
+
}
|
|
24
|
+
equals(key) {
|
|
25
|
+
if (key == null || !(key.raw instanceof Uint8Array)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return uint8ArrayEquals(this.raw, key.raw);
|
|
29
|
+
}
|
|
30
|
+
verify(data, sig) {
|
|
31
|
+
return crypto.hashAndVerify(this.raw, sig, data);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class Ed25519PrivateKey {
|
|
35
|
+
type = 'Ed25519';
|
|
36
|
+
raw;
|
|
37
|
+
publicKey;
|
|
38
|
+
// key - 64 byte Uint8Array containing private key
|
|
39
|
+
// publicKey - 32 byte Uint8Array containing public key
|
|
40
|
+
constructor(key, publicKey) {
|
|
41
|
+
this.raw = ensureEd25519Key(key, crypto.privateKeyLength);
|
|
42
|
+
this.publicKey = new Ed25519PublicKey(publicKey);
|
|
43
|
+
}
|
|
44
|
+
equals(key) {
|
|
45
|
+
if (key == null || !(key.raw instanceof Uint8Array)) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
return uint8ArrayEquals(this.raw, key.raw);
|
|
49
|
+
}
|
|
50
|
+
sign(message) {
|
|
51
|
+
return crypto.hashAndSign(this.raw, message);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ed25519.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAe,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AAIpC,MAAM,OAAO,gBAAgB;IACX,IAAI,GAAG,SAAS,CAAA;IAChB,GAAG,CAAY;IAE/B,YAAa,GAAe;QAC1B,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;IAC1D,CAAC;IAED,WAAW;QACT,OAAO,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAE,IAAiC,EAAE,GAAe;QACxD,OAAO,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACZ,IAAI,GAAG,SAAS,CAAA;IAChB,GAAG,CAAY;IACf,SAAS,CAAkB;IAE3C,wDAAwD;IACxD,uDAAuD;IACvD,YAAa,GAAe,EAAE,SAAqB;QACjD,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAE,OAAoC;QACxC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Uint8ArrayKeyPair } from '
|
|
1
|
+
import type { Uint8ArrayKeyPair } from '../interface.js';
|
|
2
2
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
3
3
|
declare const PUBLIC_KEY_BYTE_LENGTH = 32;
|
|
4
4
|
declare const PRIVATE_KEY_BYTE_LENGTH = 64;
|
|
@@ -11,4 +11,4 @@ export declare function generateKey(): Uint8ArrayKeyPair;
|
|
|
11
11
|
export declare function generateKeyFromSeed(seed: Uint8Array): Uint8ArrayKeyPair;
|
|
12
12
|
export declare function hashAndSign(privateKey: Uint8Array, msg: Uint8Array | Uint8ArrayList): Uint8Array;
|
|
13
13
|
export declare function hashAndVerify(publicKey: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean;
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=index.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.browser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAGlC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD,wBAAgB,WAAW,IAAK,iBAAiB,CAYhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAiBxE;AAED,wBAAgB,WAAW,CAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CAIjG;AAED,wBAAgB,aAAa,CAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAEhH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAIrD,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC,MAAM,uBAAuB,GAAG,EAAE,CAAA,CAAC,gGAAgG;AACnI,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAE3B,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD,MAAM,UAAU,WAAW;IACzB,oCAAoC;IACpC,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;IACjD,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;IAEhD,iDAAiD;IACjD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IAEvD,OAAO;QACL,UAAU;QACV,SAAS;KACV,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAE,IAAgB;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAA;IAC3D,CAAC;SAAM,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAA;IACxE,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAA;IAC1B,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IAEvD,OAAO;QACL,UAAU;QACV,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAE,UAAsB,EAAE,GAAgC;IACnF,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAE9D,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,aAAa,CAAE,SAAqB,EAAE,GAAe,EAAE,GAAgC;IACrG,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAA;AACpF,CAAC;AAED,SAAS,UAAU,CAAE,aAAyB,EAAE,SAAqB;IACnE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;QAChC,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import type { Uint8ArrayKeyPair } from '
|
|
2
|
+
import type { Uint8ArrayKeyPair } from '../interface.js';
|
|
3
3
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
4
4
|
declare const PUBLIC_KEY_BYTE_LENGTH = 32;
|
|
5
5
|
declare const PRIVATE_KEY_BYTE_LENGTH = 64;
|
|
@@ -12,4 +12,4 @@ export declare function generateKey(): Uint8ArrayKeyPair;
|
|
|
12
12
|
export declare function generateKeyFromSeed(seed: Uint8Array): Uint8ArrayKeyPair;
|
|
13
13
|
export declare function hashAndSign(key: Uint8Array, msg: Uint8Array | Uint8ArrayList): Buffer;
|
|
14
14
|
export declare function hashAndVerify(key: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean;
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAIlC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAuBtD,wBAAgB,WAAW,IAAK,iBAAiB,CAehD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAcxE;AAED,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,MAAM,CA6BtF;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAuB1G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Ed25519PublicKey, Ed25519PrivateKey } from '@libp2p/interface';
|
|
2
|
+
export declare function unmarshalEd25519PrivateKey(bytes: Uint8Array): Ed25519PrivateKey;
|
|
3
|
+
export declare function unmarshalEd25519PublicKey(bytes: Uint8Array): Ed25519PublicKey;
|
|
4
|
+
export declare function generateEd25519KeyPair(): Promise<Ed25519PrivateKey>;
|
|
5
|
+
export declare function generateEd25519KeyPairFromSeed(seed: Uint8Array): Promise<Ed25519PrivateKey>;
|
|
6
|
+
export declare function ensureEd25519Key(key: Uint8Array, length: number): Uint8Array;
|
|
7
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE5E,wBAAgB,0BAA0B,CAAE,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAahF;AAED,wBAAgB,yBAAyB,CAAE,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAG9E;AAED,wBAAsB,sBAAsB,IAAK,OAAO,CAAC,iBAAiB,CAAC,CAG1E;AAED,wBAAsB,8BAA8B,CAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGlG;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAM7E"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { InvalidParametersError } from '@libp2p/interface';
|
|
2
|
+
import { Ed25519PublicKey as Ed25519PublicKeyClass, Ed25519PrivateKey as Ed25519PrivateKeyClass } from './ed25519.js';
|
|
3
|
+
import * as crypto from './index.js';
|
|
4
|
+
export function unmarshalEd25519PrivateKey(bytes) {
|
|
5
|
+
// Try the old, redundant public key version
|
|
6
|
+
if (bytes.length > crypto.privateKeyLength) {
|
|
7
|
+
bytes = ensureEd25519Key(bytes, crypto.privateKeyLength + crypto.publicKeyLength);
|
|
8
|
+
const privateKeyBytes = bytes.subarray(0, crypto.privateKeyLength);
|
|
9
|
+
const publicKeyBytes = bytes.subarray(crypto.privateKeyLength, bytes.length);
|
|
10
|
+
return new Ed25519PrivateKeyClass(privateKeyBytes, publicKeyBytes);
|
|
11
|
+
}
|
|
12
|
+
bytes = ensureEd25519Key(bytes, crypto.privateKeyLength);
|
|
13
|
+
const privateKeyBytes = bytes.subarray(0, crypto.privateKeyLength);
|
|
14
|
+
const publicKeyBytes = bytes.subarray(crypto.publicKeyLength);
|
|
15
|
+
return new Ed25519PrivateKeyClass(privateKeyBytes, publicKeyBytes);
|
|
16
|
+
}
|
|
17
|
+
export function unmarshalEd25519PublicKey(bytes) {
|
|
18
|
+
bytes = ensureEd25519Key(bytes, crypto.publicKeyLength);
|
|
19
|
+
return new Ed25519PublicKeyClass(bytes);
|
|
20
|
+
}
|
|
21
|
+
export async function generateEd25519KeyPair() {
|
|
22
|
+
const { privateKey, publicKey } = crypto.generateKey();
|
|
23
|
+
return new Ed25519PrivateKeyClass(privateKey, publicKey);
|
|
24
|
+
}
|
|
25
|
+
export async function generateEd25519KeyPairFromSeed(seed) {
|
|
26
|
+
const { privateKey, publicKey } = crypto.generateKeyFromSeed(seed);
|
|
27
|
+
return new Ed25519PrivateKeyClass(privateKey, publicKey);
|
|
28
|
+
}
|
|
29
|
+
export function ensureEd25519Key(key, length) {
|
|
30
|
+
key = Uint8Array.from(key ?? []);
|
|
31
|
+
if (key.length !== length) {
|
|
32
|
+
throw new InvalidParametersError(`Key must be a Uint8Array of length ${length}, got ${key.length}`);
|
|
33
|
+
}
|
|
34
|
+
return key;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,iBAAiB,IAAI,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrH,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AAGpC,MAAM,UAAU,0BAA0B,CAAE,KAAiB;IAC3D,4CAA4C;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC3C,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;QACjF,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAClE,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC5E,OAAO,IAAI,sBAAsB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxD,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAC7D,OAAO,IAAI,sBAAsB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAE,KAAiB;IAC1D,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;IACvD,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IACtD,OAAO,IAAI,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAE,IAAgB;IACpE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAClE,OAAO,IAAI,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,GAAe,EAAE,MAAc;IAC/D,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAChC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,sCAAsC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IACrG,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { generateEphemeralKeyPair } from './ecdh/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* Generates an ephemeral public key and returns a function that will compute
|
|
4
4
|
* the shared secret key.
|
|
5
5
|
*
|
|
6
6
|
* Focuses only on ECDH now, but can be made more general in the future.
|
|
7
7
|
*/
|
|
8
|
-
export default
|
|
8
|
+
export default generateEphemeralKeyPair;
|
|
9
9
|
//# sourceMappingURL=ephemeral-keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ephemeral-keys.d.ts","sourceRoot":"","sources":["../../../src/keys/ephemeral-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ephemeral-keys.d.ts","sourceRoot":"","sources":["../../../src/keys/ephemeral-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;;;GAKG;AACH,eAAe,wBAAwB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { generateEphemeralKeyPair } from './ecdh/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* Generates an ephemeral public key and returns a function that will compute
|
|
4
4
|
* the shared secret key.
|
|
5
5
|
*
|
|
6
6
|
* Focuses only on ECDH now, but can be made more general in the future.
|
|
7
7
|
*/
|
|
8
|
-
export default
|
|
8
|
+
export default generateEphemeralKeyPair;
|
|
9
9
|
//# sourceMappingURL=ephemeral-keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ephemeral-keys.js","sourceRoot":"","sources":["../../../src/keys/ephemeral-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ephemeral-keys.js","sourceRoot":"","sources":["../../../src/keys/ephemeral-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;;;GAKG;AACH,eAAe,wBAAwB,CAAA"}
|