@libp2p/crypto 5.1.9 → 5.1.10-39e2e541a
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 +4 -4
- 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.10-39e2e541a",
|
|
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,9 +85,9 @@
|
|
|
85
85
|
"generate": "protons ./src/keys/keys.proto"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@libp2p/interface": "
|
|
89
|
-
"@noble/curves": "^
|
|
90
|
-
"@noble/hashes": "^
|
|
88
|
+
"@libp2p/interface": "3.0.0-39e2e541a",
|
|
89
|
+
"@noble/curves": "^2.0.1",
|
|
90
|
+
"@noble/hashes": "^2.0.1",
|
|
91
91
|
"multiformats": "^13.4.0",
|
|
92
92
|
"protons-runtime": "^5.6.0",
|
|
93
93
|
"uint8arraylist": "^2.4.8",
|
|
@@ -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
|
-
}
|