@libp2p/crypto 5.1.8 → 5.1.9-55b7e5fea
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 +9 -10
- package/dist/index.min.js.map +4 -4
- package/dist/src/keys/ed25519/index.browser.d.ts +2 -0
- package/dist/src/keys/ed25519/index.browser.d.ts.map +1 -1
- package/dist/src/keys/ed25519/index.browser.js +4 -4
- package/dist/src/keys/ed25519/index.browser.js.map +1 -1
- package/dist/src/keys/rsa/utils.js +1 -1
- package/dist/src/keys/rsa/utils.js.map +1 -1
- package/dist/src/keys/secp256k1/index.browser.d.ts.map +1 -1
- package/dist/src/keys/secp256k1/index.browser.js +17 -5
- package/dist/src/keys/secp256k1/index.browser.js.map +1 -1
- package/dist/src/keys/secp256k1/index.d.ts.map +1 -1
- package/dist/src/keys/secp256k1/index.js +9 -4
- package/dist/src/keys/secp256k1/index.js.map +1 -1
- package/dist/src/keys/secp256k1/utils.d.ts.map +1 -1
- package/dist/src/keys/secp256k1/utils.js +5 -7
- package/dist/src/keys/secp256k1/utils.js.map +1 -1
- package/dist/src/pbkdf2.d.ts.map +1 -1
- package/dist/src/pbkdf2.js +3 -4
- package/dist/src/pbkdf2.js.map +1 -1
- package/dist/src/random-bytes.js +1 -1
- package/dist/src/random-bytes.js.map +1 -1
- package/package.json +8 -8
- package/src/keys/ed25519/index.browser.ts +4 -4
- package/src/keys/rsa/utils.ts +1 -1
- package/src/keys/secp256k1/index.browser.ts +17 -5
- package/src/keys/secp256k1/index.ts +9 -4
- package/src/keys/secp256k1/utils.ts +5 -7
- package/src/pbkdf2.ts +3 -4
- package/src/random-bytes.ts +1 -1
- package/dist/typedoc-urls.json +0 -40
|
@@ -6,6 +6,8 @@ export { PUBLIC_KEY_BYTE_LENGTH as publicKeyLength };
|
|
|
6
6
|
export { PRIVATE_KEY_BYTE_LENGTH as privateKeyLength };
|
|
7
7
|
export declare function generateKey(): Uint8ArrayKeyPair;
|
|
8
8
|
export declare function generateKeyFromSeed(seed: Uint8Array): Uint8ArrayKeyPair;
|
|
9
|
+
export declare function hashAndSignNoble(privateKey: Uint8Array, msg: Uint8Array | Uint8ArrayList): Uint8Array;
|
|
9
10
|
export declare function hashAndSign(privateKey: Uint8Array, msg: Uint8Array | Uint8ArrayList): Promise<Uint8Array>;
|
|
11
|
+
export declare function hashAndVerifyNoble(publicKey: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean;
|
|
10
12
|
export declare function hashAndVerify(publicKey: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): Promise<boolean>;
|
|
11
13
|
//# sourceMappingURL=index.browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.browser.ts"],"names":[],"mappings":"AAGA,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;AAatD,wBAAgB,WAAW,IAAK,iBAAiB,CAYhD;AAED,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAiBxE;
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.browser.ts"],"names":[],"mappings":"AAGA,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;AAatD,wBAAgB,WAAW,IAAK,iBAAiB,CAYhD;AAED,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAiBxE;AAyBD,wBAAgB,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU,CAItG;AAED,wBAAsB,WAAW,CAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAUhH;AAYD,wBAAgB,kBAAkB,CAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAErH;AAED,wBAAsB,aAAa,CAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/H"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ed25519 as ed } from '@noble/curves/ed25519';
|
|
1
|
+
import { ed25519 as ed } from '@noble/curves/ed25519.js';
|
|
2
2
|
import { toString as uint8arrayToString } from 'uint8arrays/to-string';
|
|
3
3
|
import crypto from '../../webcrypto/index.js';
|
|
4
4
|
const PUBLIC_KEY_BYTE_LENGTH = 32;
|
|
@@ -19,7 +19,7 @@ const webCryptoEd25519SupportedPromise = (async () => {
|
|
|
19
19
|
})();
|
|
20
20
|
export function generateKey() {
|
|
21
21
|
// the actual private key (32 bytes)
|
|
22
|
-
const privateKeyRaw = ed.utils.
|
|
22
|
+
const privateKeyRaw = ed.utils.randomSecretKey();
|
|
23
23
|
const publicKey = ed.getPublicKey(privateKeyRaw);
|
|
24
24
|
// concatenated the public key to the private key
|
|
25
25
|
const privateKey = concatKeys(privateKeyRaw, publicKey);
|
|
@@ -64,7 +64,7 @@ async function hashAndSignWebCrypto(privateKey, msg) {
|
|
|
64
64
|
const sig = await crypto.get().subtle.sign({ name: 'Ed25519' }, key, msg instanceof Uint8Array ? msg : msg.subarray());
|
|
65
65
|
return new Uint8Array(sig, 0, sig.byteLength);
|
|
66
66
|
}
|
|
67
|
-
function hashAndSignNoble(privateKey, msg) {
|
|
67
|
+
export function hashAndSignNoble(privateKey, msg) {
|
|
68
68
|
const privateKeyRaw = privateKey.subarray(0, KEYS_BYTE_LENGTH);
|
|
69
69
|
return ed.sign(msg instanceof Uint8Array ? msg : msg.subarray(), privateKeyRaw);
|
|
70
70
|
}
|
|
@@ -85,7 +85,7 @@ async function hashAndVerifyWebCrypto(publicKey, sig, msg) {
|
|
|
85
85
|
}
|
|
86
86
|
throw new TypeError('WebCrypto does not support SharedArrayBuffer for Ed25519 keys');
|
|
87
87
|
}
|
|
88
|
-
function hashAndVerifyNoble(publicKey, sig, msg) {
|
|
88
|
+
export function hashAndVerifyNoble(publicKey, sig, msg) {
|
|
89
89
|
return ed.verify(sig, msg instanceof Uint8Array ? msg : msg.subarray(), publicKey);
|
|
90
90
|
}
|
|
91
91
|
export async function hashAndVerify(publicKey, sig, msg) {
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/index.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InvalidParametersError, InvalidPublicKeyError } from '@libp2p/interface';
|
|
2
|
-
import { sha256 } from '@noble/hashes/
|
|
2
|
+
import { sha256 } from '@noble/hashes/sha2.js';
|
|
3
3
|
import { create } from 'multiformats/hashes/digest';
|
|
4
4
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
5
5
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/keys/rsa/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/keys/rsa/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BxI;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BrJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { secp256k1 as secp } from '@noble/curves/secp256k1';
|
|
1
|
+
import { secp256k1 as secp } from '@noble/curves/secp256k1.js';
|
|
2
2
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
3
3
|
import { SigningError, VerificationError } from '../../errors.js';
|
|
4
4
|
import { isPromise } from '../../util.js';
|
|
@@ -15,7 +15,10 @@ export function hashAndSign(key, msg, options) {
|
|
|
15
15
|
return p
|
|
16
16
|
.then(({ digest }) => {
|
|
17
17
|
options?.signal?.throwIfAborted();
|
|
18
|
-
return secp.sign(digest, key
|
|
18
|
+
return secp.sign(digest, key, {
|
|
19
|
+
prehash: false,
|
|
20
|
+
format: 'der'
|
|
21
|
+
});
|
|
19
22
|
})
|
|
20
23
|
.catch(err => {
|
|
21
24
|
if (err.name === 'AbortError') {
|
|
@@ -25,7 +28,10 @@ export function hashAndSign(key, msg, options) {
|
|
|
25
28
|
});
|
|
26
29
|
}
|
|
27
30
|
try {
|
|
28
|
-
return secp.sign(p.digest, key
|
|
31
|
+
return secp.sign(p.digest, key, {
|
|
32
|
+
prehash: false,
|
|
33
|
+
format: 'der'
|
|
34
|
+
});
|
|
29
35
|
}
|
|
30
36
|
catch (err) {
|
|
31
37
|
throw new SigningError(String(err));
|
|
@@ -40,7 +46,10 @@ export function hashAndVerify(key, sig, msg, options) {
|
|
|
40
46
|
return p
|
|
41
47
|
.then(({ digest }) => {
|
|
42
48
|
options?.signal?.throwIfAborted();
|
|
43
|
-
return secp.verify(sig, digest, key
|
|
49
|
+
return secp.verify(sig, digest, key, {
|
|
50
|
+
prehash: false,
|
|
51
|
+
format: 'der'
|
|
52
|
+
});
|
|
44
53
|
})
|
|
45
54
|
.catch(err => {
|
|
46
55
|
if (err.name === 'AbortError') {
|
|
@@ -51,7 +60,10 @@ export function hashAndVerify(key, sig, msg, options) {
|
|
|
51
60
|
}
|
|
52
61
|
try {
|
|
53
62
|
options?.signal?.throwIfAborted();
|
|
54
|
-
return secp.verify(sig, p.digest, key
|
|
63
|
+
return secp.verify(sig, p.digest, key, {
|
|
64
|
+
prehash: false,
|
|
65
|
+
format: 'der'
|
|
66
|
+
});
|
|
55
67
|
}
|
|
56
68
|
catch (err) {
|
|
57
69
|
throw new VerificationError(String(err));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,QAAA,MAAM,sBAAsB,KAAK,CAAA;AACjC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CAuBlH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAsBlI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import crypto from 'node:crypto';
|
|
2
|
-
import { secp256k1 as secp } from '@noble/curves/secp256k1';
|
|
2
|
+
import { secp256k1 as secp } from '@noble/curves/secp256k1.js';
|
|
3
3
|
import { SigningError, VerificationError } from '../../errors.js';
|
|
4
4
|
const PUBLIC_KEY_BYTE_LENGTH = 33;
|
|
5
5
|
const PRIVATE_KEY_BYTE_LENGTH = 32;
|
|
@@ -21,8 +21,10 @@ export function hashAndSign(key, msg, options) {
|
|
|
21
21
|
}
|
|
22
22
|
const digest = hash.digest();
|
|
23
23
|
try {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
return secp.sign(digest, key, {
|
|
25
|
+
prehash: false,
|
|
26
|
+
format: 'der'
|
|
27
|
+
});
|
|
26
28
|
}
|
|
27
29
|
catch (err) {
|
|
28
30
|
throw new SigningError(String(err));
|
|
@@ -44,7 +46,10 @@ export function hashAndVerify(key, sig, msg, options) {
|
|
|
44
46
|
}
|
|
45
47
|
const digest = hash.digest();
|
|
46
48
|
try {
|
|
47
|
-
return secp.verify(sig, digest, key
|
|
49
|
+
return secp.verify(sig, digest, key, {
|
|
50
|
+
prehash: false,
|
|
51
|
+
format: 'der'
|
|
52
|
+
});
|
|
48
53
|
}
|
|
49
54
|
catch (err) {
|
|
50
55
|
throw new VerificationError(String(err));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAIjE,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,CAAA;AACpD,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,GAAe,EAAE,GAAgC,EAAE,OAAsB;IACpG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAEjC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAExC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAE5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAC5B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAE,GAAe,EAAE,GAAe,EAAE,GAAgC,EAAE,OAAsB;IACvH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAExC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAE5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;YACnC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAEhF,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD,wBAAgB,4BAA4B,CAAE,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAEpF;AAED,wBAAgB,2BAA2B,CAAE,KAAK,EAAE,UAAU,GAAG,kBAAkB,CAElF;AAED,wBAAsB,wBAAwB,IAAK,OAAO,CAAC,mBAAmB,CAAC,CAG9E;AAED,wBAAgB,0BAA0B,CAAE,GAAG,EAAE,UAAU,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/keys/secp256k1/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAEhF,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAElC,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD,wBAAgB,4BAA4B,CAAE,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAEpF;AAED,wBAAgB,2BAA2B,CAAE,KAAK,EAAE,UAAU,GAAG,kBAAkB,CAElF;AAED,wBAAsB,wBAAwB,IAAK,OAAO,CAAC,mBAAmB,CAAC,CAG9E;AAED,wBAAgB,0BAA0B,CAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAEvE;AAED,wBAAgB,4BAA4B,CAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAEzE;AAED,wBAAgB,2BAA2B,CAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAQxE;AAED,wBAAgB,0BAA0B,CAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAQvE;AAED,wBAAgB,yBAAyB,CAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAM7E;AAED,wBAAgB,2BAA2B,IAAK,UAAU,CAEzD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InvalidPrivateKeyError, InvalidPublicKeyError } from '@libp2p/interface';
|
|
2
|
-
import { secp256k1 as secp } from '@noble/curves/secp256k1';
|
|
2
|
+
import { secp256k1 as secp } from '@noble/curves/secp256k1.js';
|
|
3
3
|
import { Secp256k1PublicKey as Secp256k1PublicKeyClass, Secp256k1PrivateKey as Secp256k1PrivateKeyClass } from './secp256k1.js';
|
|
4
4
|
const PRIVATE_KEY_BYTE_LENGTH = 32;
|
|
5
5
|
export { PRIVATE_KEY_BYTE_LENGTH as privateKeyLength };
|
|
@@ -14,12 +14,10 @@ export async function generateSecp256k1KeyPair() {
|
|
|
14
14
|
return new Secp256k1PrivateKeyClass(privateKeyBytes);
|
|
15
15
|
}
|
|
16
16
|
export function compressSecp256k1PublicKey(key) {
|
|
17
|
-
|
|
18
|
-
return point;
|
|
17
|
+
return secp.Point.fromBytes(key).toBytes();
|
|
19
18
|
}
|
|
20
19
|
export function decompressSecp256k1PublicKey(key) {
|
|
21
|
-
|
|
22
|
-
return point;
|
|
20
|
+
return secp.Point.fromBytes(key).toBytes(false);
|
|
23
21
|
}
|
|
24
22
|
export function validateSecp256k1PrivateKey(key) {
|
|
25
23
|
try {
|
|
@@ -32,7 +30,7 @@ export function validateSecp256k1PrivateKey(key) {
|
|
|
32
30
|
}
|
|
33
31
|
export function validateSecp256k1PublicKey(key) {
|
|
34
32
|
try {
|
|
35
|
-
secp.
|
|
33
|
+
secp.Point.fromBytes(key);
|
|
36
34
|
return key;
|
|
37
35
|
}
|
|
38
36
|
catch (err) {
|
|
@@ -48,6 +46,6 @@ export function computeSecp256k1PublicKey(privateKey) {
|
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
export function generateSecp256k1PrivateKey() {
|
|
51
|
-
return secp.utils.
|
|
49
|
+
return secp.utils.randomSecretKey();
|
|
52
50
|
}
|
|
53
51
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,IAAI,uBAAuB,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAG/H,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,CAAA;AAEtD,MAAM,UAAU,4BAA4B,CAAE,KAAiB;IAC7D,OAAO,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAE,KAAiB;IAC5D,OAAO,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAA;IACrD,OAAO,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAE,GAAe;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAE,GAAe;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAE,GAAe;IAC1D,IAAI,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAE5B,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAE,GAAe;IACzD,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAEzB,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAE,UAAsB;IAC/D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAA;AACrC,CAAC"}
|
package/dist/src/pbkdf2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../src/pbkdf2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../src/pbkdf2.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBtI"}
|
package/dist/src/pbkdf2.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { InvalidParametersError } from '@libp2p/interface';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { sha256 } from '@noble/hashes/
|
|
5
|
-
import { sha512 } from '@noble/hashes/sha512';
|
|
2
|
+
import { sha1 } from '@noble/hashes/legacy.js';
|
|
3
|
+
import { pbkdf2 as pbkdf2Sync } from '@noble/hashes/pbkdf2.js';
|
|
4
|
+
import { sha256, sha512 } from '@noble/hashes/sha2.js';
|
|
6
5
|
import { base64 } from 'multiformats/bases/base64';
|
|
7
6
|
/**
|
|
8
7
|
* Maps an IPFS hash name to its @noble/hashes equivalent.
|
package/dist/src/pbkdf2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../src/pbkdf2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../src/pbkdf2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG;IACf,IAAI;IACJ,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAE,QAAgB,EAAE,IAAyB,EAAE,UAAkB,EAAE,OAAe,EAAE,IAAY;IAC5H,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,IAAI,sBAAsB,CAAC,SAAS,IAAI,0CAA0C,KAAK,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,UAAU,CACpB,MAAM,EACN,QAAQ,EACR,IAAI,EAAE;QACJ,CAAC,EAAE,UAAU;QACb,KAAK,EAAE,OAAO;KACf,CACF,CAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC"}
|
package/dist/src/random-bytes.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InvalidParametersError } from '@libp2p/interface';
|
|
2
|
-
import { randomBytes as randB } from '@noble/hashes/utils';
|
|
2
|
+
import { randomBytes as randB } from '@noble/hashes/utils.js';
|
|
3
3
|
/**
|
|
4
4
|
* Generates a Uint8Array with length `number` populated by random bytes
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random-bytes.js","sourceRoot":"","sources":["../../src/random-bytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"random-bytes.js","sourceRoot":"","sources":["../../src/random-bytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,MAAc;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAAC,oDAAoD,CAAC,CAAA;IACxF,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;AACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/crypto",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.9-55b7e5fea",
|
|
4
4
|
"description": "Crypto primitives for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/crypto#readme",
|
|
@@ -85,20 +85,20 @@
|
|
|
85
85
|
"generate": "protons ./src/keys/keys.proto"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@libp2p/interface": "
|
|
89
|
-
"@noble/curves": "^
|
|
90
|
-
"@noble/hashes": "^
|
|
91
|
-
"multiformats": "^13.
|
|
92
|
-
"protons-runtime": "^5.
|
|
88
|
+
"@libp2p/interface": "3.0.0-55b7e5fea",
|
|
89
|
+
"@noble/curves": "^2.0.1",
|
|
90
|
+
"@noble/hashes": "^2.0.1",
|
|
91
|
+
"multiformats": "^13.4.0",
|
|
92
|
+
"protons-runtime": "^5.6.0",
|
|
93
93
|
"uint8arraylist": "^2.4.8",
|
|
94
94
|
"uint8arrays": "^5.1.0"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@types/mocha": "^10.0.10",
|
|
98
|
-
"aegir": "^47.0.
|
|
98
|
+
"aegir": "^47.0.22",
|
|
99
99
|
"asn1js": "^3.0.6",
|
|
100
100
|
"benchmark": "^2.1.4",
|
|
101
|
-
"protons": "^7.
|
|
101
|
+
"protons": "^7.7.0"
|
|
102
102
|
},
|
|
103
103
|
"browser": {
|
|
104
104
|
"./dist/src/ciphers/aes-gcm.js": "./dist/src/ciphers/aes-gcm.browser.js",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ed25519 as ed } from '@noble/curves/ed25519'
|
|
1
|
+
import { ed25519 as ed } from '@noble/curves/ed25519.js'
|
|
2
2
|
import { toString as uint8arrayToString } from 'uint8arrays/to-string'
|
|
3
3
|
import crypto from '../../webcrypto/index.js'
|
|
4
4
|
import type { Uint8ArrayKeyPair } from '../interface.js'
|
|
@@ -24,7 +24,7 @@ const webCryptoEd25519SupportedPromise = (async () => {
|
|
|
24
24
|
|
|
25
25
|
export function generateKey (): Uint8ArrayKeyPair {
|
|
26
26
|
// the actual private key (32 bytes)
|
|
27
|
-
const privateKeyRaw = ed.utils.
|
|
27
|
+
const privateKeyRaw = ed.utils.randomSecretKey()
|
|
28
28
|
const publicKey = ed.getPublicKey(privateKeyRaw)
|
|
29
29
|
|
|
30
30
|
// concatenated the public key to the private key
|
|
@@ -78,7 +78,7 @@ async function hashAndSignWebCrypto (privateKey: Uint8Array, msg: Uint8Array | U
|
|
|
78
78
|
return new Uint8Array(sig, 0, sig.byteLength)
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
function hashAndSignNoble (privateKey: Uint8Array, msg: Uint8Array | Uint8ArrayList): Uint8Array {
|
|
81
|
+
export function hashAndSignNoble (privateKey: Uint8Array, msg: Uint8Array | Uint8ArrayList): Uint8Array {
|
|
82
82
|
const privateKeyRaw = privateKey.subarray(0, KEYS_BYTE_LENGTH)
|
|
83
83
|
|
|
84
84
|
return ed.sign(msg instanceof Uint8Array ? msg : msg.subarray(), privateKeyRaw)
|
|
@@ -106,7 +106,7 @@ async function hashAndVerifyWebCrypto (publicKey: Uint8Array, sig: Uint8Array, m
|
|
|
106
106
|
throw new TypeError('WebCrypto does not support SharedArrayBuffer for Ed25519 keys')
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
function hashAndVerifyNoble (publicKey: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean {
|
|
109
|
+
export function hashAndVerifyNoble (publicKey: Uint8Array, sig: Uint8Array, msg: Uint8Array | Uint8ArrayList): boolean {
|
|
110
110
|
return ed.verify(sig, msg instanceof Uint8Array ? msg : msg.subarray(), publicKey)
|
|
111
111
|
}
|
|
112
112
|
|
package/src/keys/rsa/utils.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InvalidParametersError, InvalidPublicKeyError } from '@libp2p/interface'
|
|
2
|
-
import { sha256 } from '@noble/hashes/
|
|
2
|
+
import { sha256 } from '@noble/hashes/sha2.js'
|
|
3
3
|
import { create } from 'multiformats/hashes/digest'
|
|
4
4
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
5
5
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { secp256k1 as secp } from '@noble/curves/secp256k1'
|
|
1
|
+
import { secp256k1 as secp } from '@noble/curves/secp256k1.js'
|
|
2
2
|
import { sha256 } from 'multiformats/hashes/sha2'
|
|
3
3
|
import { SigningError, VerificationError } from '../../errors.js'
|
|
4
4
|
import { isPromise } from '../../util.js'
|
|
@@ -21,7 +21,10 @@ export function hashAndSign (key: Uint8Array, msg: Uint8Array | Uint8ArrayList,
|
|
|
21
21
|
return p
|
|
22
22
|
.then(({ digest }) => {
|
|
23
23
|
options?.signal?.throwIfAborted()
|
|
24
|
-
return secp.sign(digest, key
|
|
24
|
+
return secp.sign(digest, key, {
|
|
25
|
+
prehash: false,
|
|
26
|
+
format: 'der'
|
|
27
|
+
})
|
|
25
28
|
})
|
|
26
29
|
.catch(err => {
|
|
27
30
|
if (err.name === 'AbortError') {
|
|
@@ -33,7 +36,10 @@ export function hashAndSign (key: Uint8Array, msg: Uint8Array | Uint8ArrayList,
|
|
|
33
36
|
}
|
|
34
37
|
|
|
35
38
|
try {
|
|
36
|
-
return secp.sign(p.digest, key
|
|
39
|
+
return secp.sign(p.digest, key, {
|
|
40
|
+
prehash: false,
|
|
41
|
+
format: 'der'
|
|
42
|
+
})
|
|
37
43
|
} catch (err) {
|
|
38
44
|
throw new SigningError(String(err))
|
|
39
45
|
}
|
|
@@ -49,7 +55,10 @@ export function hashAndVerify (key: Uint8Array, sig: Uint8Array, msg: Uint8Array
|
|
|
49
55
|
return p
|
|
50
56
|
.then(({ digest }) => {
|
|
51
57
|
options?.signal?.throwIfAborted()
|
|
52
|
-
return secp.verify(sig, digest, key
|
|
58
|
+
return secp.verify(sig, digest, key, {
|
|
59
|
+
prehash: false,
|
|
60
|
+
format: 'der'
|
|
61
|
+
})
|
|
53
62
|
})
|
|
54
63
|
.catch(err => {
|
|
55
64
|
if (err.name === 'AbortError') {
|
|
@@ -62,7 +71,10 @@ export function hashAndVerify (key: Uint8Array, sig: Uint8Array, msg: Uint8Array
|
|
|
62
71
|
|
|
63
72
|
try {
|
|
64
73
|
options?.signal?.throwIfAborted()
|
|
65
|
-
return secp.verify(sig, p.digest, key
|
|
74
|
+
return secp.verify(sig, p.digest, key, {
|
|
75
|
+
prehash: false,
|
|
76
|
+
format: 'der'
|
|
77
|
+
})
|
|
66
78
|
} catch (err) {
|
|
67
79
|
throw new VerificationError(String(err))
|
|
68
80
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import crypto from 'node:crypto'
|
|
2
|
-
import { secp256k1 as secp } from '@noble/curves/secp256k1'
|
|
2
|
+
import { secp256k1 as secp } from '@noble/curves/secp256k1.js'
|
|
3
3
|
import { SigningError, VerificationError } from '../../errors.js'
|
|
4
4
|
import type { AbortOptions } from '@libp2p/interface'
|
|
5
5
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
@@ -29,8 +29,10 @@ export function hashAndSign (key: Uint8Array, msg: Uint8Array | Uint8ArrayList,
|
|
|
29
29
|
const digest = hash.digest()
|
|
30
30
|
|
|
31
31
|
try {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
return secp.sign(digest, key, {
|
|
33
|
+
prehash: false,
|
|
34
|
+
format: 'der'
|
|
35
|
+
})
|
|
34
36
|
} catch (err) {
|
|
35
37
|
throw new SigningError(String(err))
|
|
36
38
|
}
|
|
@@ -54,7 +56,10 @@ export function hashAndVerify (key: Uint8Array, sig: Uint8Array, msg: Uint8Array
|
|
|
54
56
|
const digest = hash.digest()
|
|
55
57
|
|
|
56
58
|
try {
|
|
57
|
-
return secp.verify(sig, digest, key
|
|
59
|
+
return secp.verify(sig, digest, key, {
|
|
60
|
+
prehash: false,
|
|
61
|
+
format: 'der'
|
|
62
|
+
})
|
|
58
63
|
} catch (err) {
|
|
59
64
|
throw new VerificationError(String(err))
|
|
60
65
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InvalidPrivateKeyError, InvalidPublicKeyError } from '@libp2p/interface'
|
|
2
|
-
import { secp256k1 as secp } from '@noble/curves/secp256k1'
|
|
2
|
+
import { secp256k1 as secp } from '@noble/curves/secp256k1.js'
|
|
3
3
|
import { Secp256k1PublicKey as Secp256k1PublicKeyClass, Secp256k1PrivateKey as Secp256k1PrivateKeyClass } from './secp256k1.js'
|
|
4
4
|
import type { Secp256k1PublicKey, Secp256k1PrivateKey } from '@libp2p/interface'
|
|
5
5
|
|
|
@@ -21,13 +21,11 @@ export async function generateSecp256k1KeyPair (): Promise<Secp256k1PrivateKey>
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export function compressSecp256k1PublicKey (key: Uint8Array): Uint8Array {
|
|
24
|
-
|
|
25
|
-
return point
|
|
24
|
+
return secp.Point.fromBytes(key).toBytes()
|
|
26
25
|
}
|
|
27
26
|
|
|
28
27
|
export function decompressSecp256k1PublicKey (key: Uint8Array): Uint8Array {
|
|
29
|
-
|
|
30
|
-
return point
|
|
28
|
+
return secp.Point.fromBytes(key).toBytes(false)
|
|
31
29
|
}
|
|
32
30
|
|
|
33
31
|
export function validateSecp256k1PrivateKey (key: Uint8Array): Uint8Array {
|
|
@@ -42,7 +40,7 @@ export function validateSecp256k1PrivateKey (key: Uint8Array): Uint8Array {
|
|
|
42
40
|
|
|
43
41
|
export function validateSecp256k1PublicKey (key: Uint8Array): Uint8Array {
|
|
44
42
|
try {
|
|
45
|
-
secp.
|
|
43
|
+
secp.Point.fromBytes(key)
|
|
46
44
|
|
|
47
45
|
return key
|
|
48
46
|
} catch (err) {
|
|
@@ -59,5 +57,5 @@ export function computeSecp256k1PublicKey (privateKey: Uint8Array): Uint8Array {
|
|
|
59
57
|
}
|
|
60
58
|
|
|
61
59
|
export function generateSecp256k1PrivateKey (): Uint8Array {
|
|
62
|
-
return secp.utils.
|
|
60
|
+
return secp.utils.randomSecretKey()
|
|
63
61
|
}
|
package/src/pbkdf2.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { InvalidParametersError } from '@libp2p/interface'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { sha256 } from '@noble/hashes/
|
|
5
|
-
import { sha512 } from '@noble/hashes/sha512'
|
|
2
|
+
import { sha1 } from '@noble/hashes/legacy.js'
|
|
3
|
+
import { pbkdf2 as pbkdf2Sync } from '@noble/hashes/pbkdf2.js'
|
|
4
|
+
import { sha256, sha512 } from '@noble/hashes/sha2.js'
|
|
6
5
|
import { base64 } from 'multiformats/bases/base64'
|
|
7
6
|
|
|
8
7
|
/**
|
package/src/random-bytes.ts
CHANGED
package/dist/typedoc-urls.json
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"AESCipher": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.ciphers.AES_GCM.AESCipher.html",
|
|
3
|
-
"CreateAESCipherOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.ciphers.AES_GCM.CreateAESCipherOptions.html",
|
|
4
|
-
"create": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.ciphers.AES_GCM.create.html",
|
|
5
|
-
"HMAC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.hmac.HMAC.html",
|
|
6
|
-
"./hmac:HMAC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.hmac.HMAC.html",
|
|
7
|
-
"./hmac:create": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.hmac.create.html",
|
|
8
|
-
"pbkdf2": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.index.pbkdf2.html",
|
|
9
|
-
"randomBytes": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.index.randomBytes.html",
|
|
10
|
-
"ECDHKey": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.keys.ECDHKey.html",
|
|
11
|
-
"ECDHKeyPair": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.keys.ECDHKeyPair.html",
|
|
12
|
-
"EnhancedKey": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.keys.EnhancedKey.html",
|
|
13
|
-
"EnhancedKeyPair": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.keys.EnhancedKeyPair.html",
|
|
14
|
-
"Curve": "https://libp2p.github.io/js-libp2p/types/_libp2p_crypto.keys.Curve.html",
|
|
15
|
-
"generateEphemeralKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateEphemeralKeyPair.html",
|
|
16
|
-
"generateKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPair.html",
|
|
17
|
-
"./keys:generateKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPair.html",
|
|
18
|
-
"generateKeyPairFromSeed": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPairFromSeed.html",
|
|
19
|
-
"./keys:generateKeyPairFromSeed": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.generateKeyPairFromSeed.html",
|
|
20
|
-
"keyStretcher": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.keyStretcher.html",
|
|
21
|
-
"privateKeyFromCryptoKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromCryptoKeyPair.html",
|
|
22
|
-
"./keys:privateKeyFromCryptoKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromCryptoKeyPair.html",
|
|
23
|
-
"privateKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromProtobuf.html",
|
|
24
|
-
"./keys:privateKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromProtobuf.html",
|
|
25
|
-
"privateKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromRaw.html",
|
|
26
|
-
"./keys:privateKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyFromRaw.html",
|
|
27
|
-
"privateKeyToCryptoKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyToCryptoKeyPair.html",
|
|
28
|
-
"./keys:privateKeyToCryptoKeyPair": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyToCryptoKeyPair.html",
|
|
29
|
-
"privateKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyToProtobuf.html",
|
|
30
|
-
"./keys:privateKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.privateKeyToProtobuf.html",
|
|
31
|
-
"publicKeyFromMultihash": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromMultihash.html",
|
|
32
|
-
"./keys:publicKeyFromMultihash": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromMultihash.html",
|
|
33
|
-
"publicKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromProtobuf.html",
|
|
34
|
-
"./keys:publicKeyFromProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromProtobuf.html",
|
|
35
|
-
"publicKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromRaw.html",
|
|
36
|
-
"./keys:publicKeyFromRaw": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyFromRaw.html",
|
|
37
|
-
"publicKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyToProtobuf.html",
|
|
38
|
-
"./keys:publicKeyToProtobuf": "https://libp2p.github.io/js-libp2p/functions/_libp2p_crypto.keys.publicKeyToProtobuf.html",
|
|
39
|
-
"default": "https://libp2p.github.io/js-libp2p/variables/_libp2p_crypto.webcrypto.default.html"
|
|
40
|
-
}
|