@libp2p/crypto 0.22.10 → 0.22.11
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/src/keys/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import generateEphemeralKeyPair from './ephemeral-keys.js';
|
|
|
6
6
|
import * as RSA from './rsa-class.js';
|
|
7
7
|
import * as Ed25519 from './ed25519-class.js';
|
|
8
8
|
import * as Secp256k1 from './secp256k1-class.js';
|
|
9
|
+
import type { PrivateKey, PublicKey } from '@libp2p/interfaces/keys';
|
|
9
10
|
export { keyStretcher };
|
|
10
11
|
export { generateEphemeralKeyPair };
|
|
11
12
|
export { keysPBM };
|
|
@@ -14,13 +15,13 @@ export declare const supportedKeys: {
|
|
|
14
15
|
ed25519: typeof Ed25519;
|
|
15
16
|
secp256k1: typeof Secp256k1;
|
|
16
17
|
};
|
|
17
|
-
export declare function generateKeyPair(type: 'RSA' | 'Ed25519' | 'secp256k1', bits?: number): Promise<
|
|
18
|
-
export declare function generateKeyPairFromSeed(type: 'RSA' | 'Ed25519' | 'secp256k1', seed: Uint8Array, bits?: number): Promise<
|
|
19
|
-
export declare function unmarshalPublicKey(buf: Uint8Array):
|
|
18
|
+
export declare function generateKeyPair(type: 'RSA' | 'Ed25519' | 'secp256k1', bits?: number): Promise<PrivateKey>;
|
|
19
|
+
export declare function generateKeyPairFromSeed(type: 'RSA' | 'Ed25519' | 'secp256k1', seed: Uint8Array, bits?: number): Promise<PrivateKey>;
|
|
20
|
+
export declare function unmarshalPublicKey(buf: Uint8Array): PublicKey;
|
|
20
21
|
export declare function marshalPublicKey(key: {
|
|
21
22
|
bytes: Uint8Array;
|
|
22
23
|
}, type?: string): Uint8Array;
|
|
23
|
-
export declare function unmarshalPrivateKey(buf: Uint8Array): Promise<
|
|
24
|
+
export declare function unmarshalPrivateKey(buf: Uint8Array): Promise<PrivateKey>;
|
|
24
25
|
export declare function marshalPrivateKey(key: {
|
|
25
26
|
bytes: Uint8Array;
|
|
26
27
|
}, type?: string): Uint8Array;
|
|
@@ -29,5 +30,5 @@ export declare function marshalPrivateKey(key: {
|
|
|
29
30
|
* @param {string} encryptedKey
|
|
30
31
|
* @param {string} password
|
|
31
32
|
*/
|
|
32
|
-
export declare function importKey(encryptedKey: string, password: string): Promise<
|
|
33
|
+
export declare function importKey(encryptedKey: string, password: string): Promise<PrivateKey>;
|
|
33
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,uBAAuB,CAAA;AAK9B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,wBAAwB,MAAM,qBAAqB,CAAA;AAE1D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,uBAAuB,CAAA;AAK9B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,wBAAwB,MAAM,qBAAqB,CAAA;AAE1D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAkBD,wBAAsB,eAAe,CAAE,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAEhH;AAID,wBAAsB,uBAAuB,CAAE,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAM1I;AAID,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,UAAU,GAAG,SAAS,CAc9D;AAGD,wBAAgB,gBAAgB,CAAE,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAIvF;AAID,wBAAsB,mBAAmB,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAc/E;AAGD,wBAAgB,iBAAiB,CAAE,GAAG,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAIxF;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgB5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,uBAAuB,CAAA;AAC9B,qCAAqC;AACrC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,wBAAwB,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/crypto",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.11",
|
|
4
4
|
"description": "Crypto primitives for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-crypto#readme",
|
|
@@ -169,6 +169,7 @@
|
|
|
169
169
|
"generate": "protons ./src/keys/keys.proto"
|
|
170
170
|
},
|
|
171
171
|
"dependencies": {
|
|
172
|
+
"@libp2p/interfaces": "^1.3.20",
|
|
172
173
|
"@noble/ed25519": "^1.6.0",
|
|
173
174
|
"@noble/secp256k1": "^1.5.4",
|
|
174
175
|
"err-code": "^3.0.1",
|
package/src/keys/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { importer } from './importer.js'
|
|
|
11
11
|
import * as RSA from './rsa-class.js'
|
|
12
12
|
import * as Ed25519 from './ed25519-class.js'
|
|
13
13
|
import * as Secp256k1 from './secp256k1-class.js'
|
|
14
|
+
import type { PrivateKey, PublicKey } from '@libp2p/interfaces/keys'
|
|
14
15
|
|
|
15
16
|
export { keyStretcher }
|
|
16
17
|
export { generateEphemeralKeyPair }
|
|
@@ -38,13 +39,13 @@ function typeToKey (type: string) {
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
// Generates a keypair of the given type and bitsize
|
|
41
|
-
export async function generateKeyPair (type: 'RSA' | 'Ed25519' | 'secp256k1', bits?: number) { // eslint-disable-line require-await
|
|
42
|
+
export async function generateKeyPair (type: 'RSA' | 'Ed25519' | 'secp256k1', bits?: number): Promise<PrivateKey> { // eslint-disable-line require-await
|
|
42
43
|
return await typeToKey(type).generateKeyPair(bits ?? 2048)
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
// Generates a keypair of the given type and bitsize
|
|
46
47
|
// seed is a 32 byte uint8array
|
|
47
|
-
export async function generateKeyPairFromSeed (type: 'RSA' | 'Ed25519' | 'secp256k1', seed: Uint8Array, bits?: number) { // eslint-disable-line require-await
|
|
48
|
+
export async function generateKeyPairFromSeed (type: 'RSA' | 'Ed25519' | 'secp256k1', seed: Uint8Array, bits?: number): Promise<PrivateKey> { // eslint-disable-line require-await
|
|
48
49
|
if (type.toLowerCase() !== 'ed25519') {
|
|
49
50
|
throw errcode(new Error('Seed key derivation is unimplemented for RSA or secp256k1'), 'ERR_UNSUPPORTED_KEY_DERIVATION_TYPE')
|
|
50
51
|
}
|
|
@@ -54,7 +55,7 @@ export async function generateKeyPairFromSeed (type: 'RSA' | 'Ed25519' | 'secp25
|
|
|
54
55
|
|
|
55
56
|
// Converts a protobuf serialized public key into its
|
|
56
57
|
// representative object
|
|
57
|
-
export function unmarshalPublicKey (buf: Uint8Array) {
|
|
58
|
+
export function unmarshalPublicKey (buf: Uint8Array): PublicKey {
|
|
58
59
|
const decoded = keysPBM.PublicKey.decode(buf)
|
|
59
60
|
const data = decoded.Data
|
|
60
61
|
|
|
@@ -71,7 +72,7 @@ export function unmarshalPublicKey (buf: Uint8Array) {
|
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
// Converts a public key object into a protobuf serialized public key
|
|
74
|
-
export function marshalPublicKey (key: { bytes: Uint8Array }, type?: string) {
|
|
75
|
+
export function marshalPublicKey (key: { bytes: Uint8Array }, type?: string): Uint8Array {
|
|
75
76
|
type = (type ?? 'rsa').toLowerCase()
|
|
76
77
|
typeToKey(type) // check type
|
|
77
78
|
return key.bytes
|
|
@@ -79,7 +80,7 @@ export function marshalPublicKey (key: { bytes: Uint8Array }, type?: string) {
|
|
|
79
80
|
|
|
80
81
|
// Converts a protobuf serialized private key into its
|
|
81
82
|
// representative object
|
|
82
|
-
export async function unmarshalPrivateKey (buf: Uint8Array) { // eslint-disable-line require-await
|
|
83
|
+
export async function unmarshalPrivateKey (buf: Uint8Array): Promise<PrivateKey> { // eslint-disable-line require-await
|
|
83
84
|
const decoded = keysPBM.PrivateKey.decode(buf)
|
|
84
85
|
const data = decoded.Data
|
|
85
86
|
|
|
@@ -96,7 +97,7 @@ export async function unmarshalPrivateKey (buf: Uint8Array) { // eslint-disable-
|
|
|
96
97
|
}
|
|
97
98
|
|
|
98
99
|
// Converts a private key object into a protobuf serialized private key
|
|
99
|
-
export function marshalPrivateKey (key: { bytes: Uint8Array }, type?: string) {
|
|
100
|
+
export function marshalPrivateKey (key: { bytes: Uint8Array }, type?: string): Uint8Array {
|
|
100
101
|
type = (type ?? 'rsa').toLowerCase()
|
|
101
102
|
typeToKey(type) // check type
|
|
102
103
|
return key.bytes
|
|
@@ -107,7 +108,7 @@ export function marshalPrivateKey (key: { bytes: Uint8Array }, type?: string) {
|
|
|
107
108
|
* @param {string} encryptedKey
|
|
108
109
|
* @param {string} password
|
|
109
110
|
*/
|
|
110
|
-
export async function importKey (encryptedKey: string, password: string) { // eslint-disable-line require-await
|
|
111
|
+
export async function importKey (encryptedKey: string, password: string): Promise<PrivateKey> { // eslint-disable-line require-await
|
|
111
112
|
try {
|
|
112
113
|
const key = await importer(encryptedKey, password)
|
|
113
114
|
return await unmarshalPrivateKey(key)
|