@libp2p/crypto 1.0.6 → 1.0.8
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 +1 -1
- package/dist/src/keys/index.d.ts.map +1 -1
- package/dist/src/keys/index.js +4 -4
- package/dist/src/keys/index.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 +18 -46
- package/dist/src/keys/keys.js.map +1 -1
- package/package.json +4 -4
- package/src/keys/index.ts +4 -4
- package/src/keys/keys.proto +22 -4
- package/src/keys/keys.ts +22 -50
package/dist/src/keys/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import type { PrivateKey, PublicKey } from '@libp2p/interface-keys';
|
|
|
10
10
|
export { keyStretcher };
|
|
11
11
|
export { generateEphemeralKeyPair };
|
|
12
12
|
export { keysPBM };
|
|
13
|
-
export
|
|
13
|
+
export type KeyTypes = 'RSA' | 'Ed25519' | 'secp256k1';
|
|
14
14
|
export declare const supportedKeys: {
|
|
15
15
|
rsa: typeof RSA;
|
|
16
16
|
ed25519: typeof Ed25519;
|
|
@@ -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;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,
|
|
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,wBAAwB,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAA;AAEtD,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAkBD,wBAAsB,eAAe,CAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzF;AAID,wBAAsB,uBAAuB,CAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAMnH;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"}
|
package/dist/src/keys/index.js
CHANGED
|
@@ -46,7 +46,7 @@ export async function generateKeyPairFromSeed(type, seed, bits) {
|
|
|
46
46
|
// representative object
|
|
47
47
|
export function unmarshalPublicKey(buf) {
|
|
48
48
|
const decoded = keysPBM.PublicKey.decode(buf);
|
|
49
|
-
const data = decoded.Data;
|
|
49
|
+
const data = decoded.Data ?? new Uint8Array();
|
|
50
50
|
switch (decoded.Type) {
|
|
51
51
|
case keysPBM.KeyType.RSA:
|
|
52
52
|
return supportedKeys.rsa.unmarshalRsaPublicKey(data);
|
|
@@ -55,7 +55,7 @@ export function unmarshalPublicKey(buf) {
|
|
|
55
55
|
case keysPBM.KeyType.Secp256k1:
|
|
56
56
|
return supportedKeys.secp256k1.unmarshalSecp256k1PublicKey(data);
|
|
57
57
|
default:
|
|
58
|
-
throw unsupportedKey(decoded.Type);
|
|
58
|
+
throw unsupportedKey(decoded.Type ?? 'RSA');
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
// Converts a public key object into a protobuf serialized public key
|
|
@@ -68,7 +68,7 @@ export function marshalPublicKey(key, type) {
|
|
|
68
68
|
// representative object
|
|
69
69
|
export async function unmarshalPrivateKey(buf) {
|
|
70
70
|
const decoded = keysPBM.PrivateKey.decode(buf);
|
|
71
|
-
const data = decoded.Data;
|
|
71
|
+
const data = decoded.Data ?? new Uint8Array();
|
|
72
72
|
switch (decoded.Type) {
|
|
73
73
|
case keysPBM.KeyType.RSA:
|
|
74
74
|
return await supportedKeys.rsa.unmarshalRsaPrivateKey(data);
|
|
@@ -77,7 +77,7 @@ export async function unmarshalPrivateKey(buf) {
|
|
|
77
77
|
case keysPBM.KeyType.Secp256k1:
|
|
78
78
|
return supportedKeys.secp256k1.unmarshalSecp256k1PrivateKey(data);
|
|
79
79
|
default:
|
|
80
|
-
throw unsupportedKey(decoded.Type);
|
|
80
|
+
throw unsupportedKey(decoded.Type ?? 'RSA');
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
// Converts a private key object into a protobuf serialized private key
|
|
@@ -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;AAGjD,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,CAAA;AAIlB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,GAAG;IACR,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED,SAAS,cAAc,CAAE,IAAY;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxD,OAAO,OAAO,CAAC,IAAI,KAAK,CAAC,mCAAmC,IAAI,aAAa,SAAS,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAA;AACxH,CAAC;AAED,SAAS,SAAS,CAAE,IAAY;IAC9B,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAEzB,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,EAAE;QAChE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;KAC3B;IAED,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,IAAc,EAAE,IAAa;IAClE,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;AAC5D,CAAC;AAED,oDAAoD;AACpD,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAE,IAAc,EAAE,IAAgB,EAAE,IAAa;IAC5F,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;QACpC,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,2DAA2D,CAAC,EAAE,qCAAqC,CAAC,CAAA;KAC7H;IAED,OAAO,MAAM,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC;AAED,qDAAqD;AACrD,wBAAwB;AACxB,MAAM,UAAU,kBAAkB,CAAE,GAAe;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/keys/keys.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export declare namespace KeyType {
|
|
|
9
9
|
const codec: () => Codec<KeyType>;
|
|
10
10
|
}
|
|
11
11
|
export interface PublicKey {
|
|
12
|
-
Type
|
|
13
|
-
Data
|
|
12
|
+
Type?: KeyType;
|
|
13
|
+
Data?: Uint8Array;
|
|
14
14
|
}
|
|
15
15
|
export declare namespace PublicKey {
|
|
16
16
|
const codec: () => Codec<PublicKey>;
|
|
@@ -18,8 +18,8 @@ export declare namespace PublicKey {
|
|
|
18
18
|
const decode: (buf: Uint8Array | Uint8ArrayList) => PublicKey;
|
|
19
19
|
}
|
|
20
20
|
export interface PrivateKey {
|
|
21
|
-
Type
|
|
22
|
-
Data
|
|
21
|
+
Type?: KeyType;
|
|
22
|
+
Data?: Uint8Array;
|
|
23
23
|
}
|
|
24
24
|
export declare namespace PrivateKey {
|
|
25
25
|
const codec: () => Codec<PrivateKey>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,oBAAY,OAAO;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAQD,yBAAiB,OAAO,CAAC;IAChB,MAAM,KAAK,sBAEjB,CAAA;CACF;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,yBAAiB,SAAS,CAAC;IAGlB,MAAM,KAAK,QAAO,MAAM,SAAS,CA8CvC,CAAA;IAEM,MAAM,MAAM,QAAS,SAAS,KAAG,UAEvC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,SAEzD,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,yBAAiB,UAAU,CAAC;IAGnB,MAAM,KAAK,QAAO,MAAM,UAAU,CA8CxC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,UAExC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,UAEzD,CAAA;CACF"}
|
package/dist/src/keys/keys.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* eslint-disable import/export */
|
|
2
|
+
/* eslint-disable complexity */
|
|
2
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
3
5
|
import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime';
|
|
4
6
|
export var KeyType;
|
|
5
7
|
(function (KeyType) {
|
|
@@ -23,32 +25,23 @@ export var PublicKey;
|
|
|
23
25
|
let _codec;
|
|
24
26
|
PublicKey.codec = () => {
|
|
25
27
|
if (_codec == null) {
|
|
26
|
-
_codec = message((obj,
|
|
28
|
+
_codec = message((obj, w, opts = {}) => {
|
|
27
29
|
if (opts.lengthDelimited !== false) {
|
|
28
|
-
|
|
30
|
+
w.fork();
|
|
29
31
|
}
|
|
30
32
|
if (obj.Type != null) {
|
|
31
|
-
|
|
32
|
-
KeyType.codec().encode(obj.Type,
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
throw new Error('Protocol error: required field "Type" was not found in object');
|
|
33
|
+
w.uint32(8);
|
|
34
|
+
KeyType.codec().encode(obj.Type, w);
|
|
36
35
|
}
|
|
37
36
|
if (obj.Data != null) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
throw new Error('Protocol error: required field "Data" was not found in object');
|
|
37
|
+
w.uint32(18);
|
|
38
|
+
w.bytes(obj.Data);
|
|
43
39
|
}
|
|
44
40
|
if (opts.lengthDelimited !== false) {
|
|
45
|
-
|
|
41
|
+
w.ldelim();
|
|
46
42
|
}
|
|
47
43
|
}, (reader, length) => {
|
|
48
|
-
const obj = {
|
|
49
|
-
Type: KeyType.RSA,
|
|
50
|
-
Data: new Uint8Array(0)
|
|
51
|
-
};
|
|
44
|
+
const obj = {};
|
|
52
45
|
const end = length == null ? reader.len : reader.pos + length;
|
|
53
46
|
while (reader.pos < end) {
|
|
54
47
|
const tag = reader.uint32();
|
|
@@ -64,12 +57,6 @@ export var PublicKey;
|
|
|
64
57
|
break;
|
|
65
58
|
}
|
|
66
59
|
}
|
|
67
|
-
if (obj.Type == null) {
|
|
68
|
-
throw new Error('Protocol error: value for required field "Type" was not found in protobuf');
|
|
69
|
-
}
|
|
70
|
-
if (obj.Data == null) {
|
|
71
|
-
throw new Error('Protocol error: value for required field "Data" was not found in protobuf');
|
|
72
|
-
}
|
|
73
60
|
return obj;
|
|
74
61
|
});
|
|
75
62
|
}
|
|
@@ -87,32 +74,23 @@ export var PrivateKey;
|
|
|
87
74
|
let _codec;
|
|
88
75
|
PrivateKey.codec = () => {
|
|
89
76
|
if (_codec == null) {
|
|
90
|
-
_codec = message((obj,
|
|
77
|
+
_codec = message((obj, w, opts = {}) => {
|
|
91
78
|
if (opts.lengthDelimited !== false) {
|
|
92
|
-
|
|
79
|
+
w.fork();
|
|
93
80
|
}
|
|
94
81
|
if (obj.Type != null) {
|
|
95
|
-
|
|
96
|
-
KeyType.codec().encode(obj.Type,
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
throw new Error('Protocol error: required field "Type" was not found in object');
|
|
82
|
+
w.uint32(8);
|
|
83
|
+
KeyType.codec().encode(obj.Type, w);
|
|
100
84
|
}
|
|
101
85
|
if (obj.Data != null) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
throw new Error('Protocol error: required field "Data" was not found in object');
|
|
86
|
+
w.uint32(18);
|
|
87
|
+
w.bytes(obj.Data);
|
|
107
88
|
}
|
|
108
89
|
if (opts.lengthDelimited !== false) {
|
|
109
|
-
|
|
90
|
+
w.ldelim();
|
|
110
91
|
}
|
|
111
92
|
}, (reader, length) => {
|
|
112
|
-
const obj = {
|
|
113
|
-
Type: KeyType.RSA,
|
|
114
|
-
Data: new Uint8Array(0)
|
|
115
|
-
};
|
|
93
|
+
const obj = {};
|
|
116
94
|
const end = length == null ? reader.len : reader.pos + length;
|
|
117
95
|
while (reader.pos < end) {
|
|
118
96
|
const tag = reader.uint32();
|
|
@@ -128,12 +106,6 @@ export var PrivateKey;
|
|
|
128
106
|
break;
|
|
129
107
|
}
|
|
130
108
|
}
|
|
131
|
-
if (obj.Type == null) {
|
|
132
|
-
throw new Error('Protocol error: value for required field "Type" was not found in protobuf');
|
|
133
|
-
}
|
|
134
|
-
if (obj.Data == null) {
|
|
135
|
-
throw new Error('Protocol error: value for required field "Data" was not found in protobuf');
|
|
136
|
-
}
|
|
137
109
|
return obj;
|
|
138
110
|
});
|
|
139
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,+BAA+B;AAC/B,oDAAoD;AACpD,8EAA8E;AAE9E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAIpF,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,kCAAuB,CAAA;AACzB,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,IAAK,eAIJ;AAJD,WAAK,eAAe;IAClB,mDAAO,CAAA;IACP,2DAAW,CAAA;IACX,+DAAa,CAAA;AACf,CAAC,EAJI,eAAe,KAAf,eAAe,QAInB;AAED,WAAiB,OAAO;IACT,aAAK,GAAG,GAAG,EAAE;QACxB,OAAO,WAAW,CAAU,eAAe,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC,EAJgB,OAAO,KAAP,OAAO,QAIvB;AAMD,MAAM,KAAW,SAAS,CA0DzB;AA1DD,WAAiB,SAAS;IACxB,IAAI,MAAwB,CAAA;IAEf,eAAK,GAAG,GAAqB,EAAE;QAC1C,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,GAAG,OAAO,CAAY,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBAChD,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;oBAClC,CAAC,CAAC,IAAI,EAAE,CAAA;iBACT;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;oBACpB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBACX,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;iBACpC;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;oBACpB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBAClB;gBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;oBAClC,CAAC,CAAC,MAAM,EAAE,CAAA;iBACX;YACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACpB,MAAM,GAAG,GAAQ,EAAE,CAAA;gBAEnB,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;gBAE7D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;oBACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;oBAE3B,QAAQ,GAAG,KAAK,CAAC,EAAE;wBACjB,KAAK,CAAC;4BACJ,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;4BACzC,MAAK;wBACP,KAAK,CAAC;4BACJ,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;4BACzB,MAAK;wBACP;4BACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;4BACxB,MAAK;qBACR;iBACF;gBAED,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;SACH;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAc,EAAc,EAAE;QACnD,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAgC,EAAa,EAAE;QACpE,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC,EA1DgB,SAAS,KAAT,SAAS,QA0DzB;AAOD,MAAM,KAAW,UAAU,CA0D1B;AA1DD,WAAiB,UAAU;IACzB,IAAI,MAAyB,CAAA;IAEhB,gBAAK,GAAG,GAAsB,EAAE;QAC3C,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,GAAG,OAAO,CAAa,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;gBACjD,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;oBAClC,CAAC,CAAC,IAAI,EAAE,CAAA;iBACT;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;oBACpB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBACX,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;iBACpC;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;oBACpB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBAClB;gBAED,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;oBAClC,CAAC,CAAC,MAAM,EAAE,CAAA;iBACX;YACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACpB,MAAM,GAAG,GAAQ,EAAE,CAAA;gBAEnB,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;gBAE7D,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;oBACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;oBAE3B,QAAQ,GAAG,KAAK,CAAC,EAAE;wBACjB,KAAK,CAAC;4BACJ,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;4BACzC,MAAK;wBACP,KAAK,CAAC;4BACJ,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;4BACzB,MAAK;wBACP;4BACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;4BACxB,MAAK;qBACR;iBACF;gBAED,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;SACH;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAEY,iBAAM,GAAG,CAAC,GAAe,EAAc,EAAE;QACpD,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAA;IAEY,iBAAM,GAAG,CAAC,GAAgC,EAAc,EAAE;QACrE,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC,EA1DgB,UAAU,KAAV,UAAU,QA0D1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/crypto",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
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",
|
|
@@ -184,15 +184,15 @@
|
|
|
184
184
|
"err-code": "^3.0.1",
|
|
185
185
|
"multiformats": "^10.0.0",
|
|
186
186
|
"node-forge": "^1.1.0",
|
|
187
|
-
"protons-runtime": "^
|
|
187
|
+
"protons-runtime": "^4.0.1",
|
|
188
188
|
"uint8arrays": "^4.0.2"
|
|
189
189
|
},
|
|
190
190
|
"devDependencies": {
|
|
191
191
|
"@types/mocha": "^10.0.0",
|
|
192
192
|
"aegir": "^37.0.12",
|
|
193
193
|
"benchmark": "^2.1.4",
|
|
194
|
-
"protons": "^
|
|
195
|
-
"sinon": "^
|
|
194
|
+
"protons": "^6.0.0",
|
|
195
|
+
"sinon": "^15.0.0",
|
|
196
196
|
"util": "^0.12.3",
|
|
197
197
|
"wherearewe": "^2.0.1"
|
|
198
198
|
},
|
package/src/keys/index.ts
CHANGED
|
@@ -59,7 +59,7 @@ export async function generateKeyPairFromSeed (type: KeyTypes, seed: Uint8Array,
|
|
|
59
59
|
// representative object
|
|
60
60
|
export function unmarshalPublicKey (buf: Uint8Array): PublicKey {
|
|
61
61
|
const decoded = keysPBM.PublicKey.decode(buf)
|
|
62
|
-
const data = decoded.Data
|
|
62
|
+
const data = decoded.Data ?? new Uint8Array()
|
|
63
63
|
|
|
64
64
|
switch (decoded.Type) {
|
|
65
65
|
case keysPBM.KeyType.RSA:
|
|
@@ -69,7 +69,7 @@ export function unmarshalPublicKey (buf: Uint8Array): PublicKey {
|
|
|
69
69
|
case keysPBM.KeyType.Secp256k1:
|
|
70
70
|
return supportedKeys.secp256k1.unmarshalSecp256k1PublicKey(data)
|
|
71
71
|
default:
|
|
72
|
-
throw unsupportedKey(decoded.Type)
|
|
72
|
+
throw unsupportedKey(decoded.Type ?? 'RSA')
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -84,7 +84,7 @@ export function marshalPublicKey (key: { bytes: Uint8Array }, type?: string): Ui
|
|
|
84
84
|
// representative object
|
|
85
85
|
export async function unmarshalPrivateKey (buf: Uint8Array): Promise<PrivateKey> { // eslint-disable-line require-await
|
|
86
86
|
const decoded = keysPBM.PrivateKey.decode(buf)
|
|
87
|
-
const data = decoded.Data
|
|
87
|
+
const data = decoded.Data ?? new Uint8Array()
|
|
88
88
|
|
|
89
89
|
switch (decoded.Type) {
|
|
90
90
|
case keysPBM.KeyType.RSA:
|
|
@@ -94,7 +94,7 @@ export async function unmarshalPrivateKey (buf: Uint8Array): Promise<PrivateKey>
|
|
|
94
94
|
case keysPBM.KeyType.Secp256k1:
|
|
95
95
|
return supportedKeys.secp256k1.unmarshalSecp256k1PrivateKey(data)
|
|
96
96
|
default:
|
|
97
|
-
throw unsupportedKey(decoded.Type)
|
|
97
|
+
throw unsupportedKey(decoded.Type ?? 'RSA')
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
package/src/keys/keys.proto
CHANGED
|
@@ -6,10 +6,28 @@ enum KeyType {
|
|
|
6
6
|
Secp256k1 = 2;
|
|
7
7
|
}
|
|
8
8
|
message PublicKey {
|
|
9
|
-
required
|
|
10
|
-
|
|
9
|
+
// the proto2 version of this field is "required" which means it will have
|
|
10
|
+
// no default value. the default for proto3 is "singluar" which omits the
|
|
11
|
+
// value on the wire if it's the default so for proto3 we make it "optional"
|
|
12
|
+
// to ensure a value is always written on to the wire
|
|
13
|
+
optional KeyType Type = 1;
|
|
14
|
+
|
|
15
|
+
// the proto2 version of this field is "required" which means it will have
|
|
16
|
+
// no default value. the default for proto3 is "singluar" which omits the
|
|
17
|
+
// value on the wire if it's the default so for proto3 we make it "optional"
|
|
18
|
+
// to ensure a value is always written on to the wire
|
|
19
|
+
optional bytes Data = 2;
|
|
11
20
|
}
|
|
12
21
|
message PrivateKey {
|
|
13
|
-
required
|
|
14
|
-
|
|
22
|
+
// the proto2 version of this field is "required" which means it will have
|
|
23
|
+
// no default value. the default for proto3 is "singluar" which omits the
|
|
24
|
+
// value on the wire if it's the default so for proto3 we make it "optional"
|
|
25
|
+
// to ensure a value is always written on to the wire
|
|
26
|
+
optional KeyType Type = 1;
|
|
27
|
+
|
|
28
|
+
// the proto2 version of this field is "required" which means it will have
|
|
29
|
+
// no default value. the default for proto3 is "singluar" which omits the
|
|
30
|
+
// value on the wire if it's the default so for proto3 we make it "optional"
|
|
31
|
+
// to ensure a value is always written on to the wire
|
|
32
|
+
optional bytes Data = 2;
|
|
15
33
|
}
|
package/src/keys/keys.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* eslint-disable import/export */
|
|
2
|
+
/* eslint-disable complexity */
|
|
2
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
3
5
|
|
|
4
6
|
import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime'
|
|
5
7
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
@@ -23,8 +25,8 @@ export namespace KeyType {
|
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
27
|
export interface PublicKey {
|
|
26
|
-
Type
|
|
27
|
-
Data
|
|
28
|
+
Type?: KeyType
|
|
29
|
+
Data?: Uint8Array
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export namespace PublicKey {
|
|
@@ -32,33 +34,26 @@ export namespace PublicKey {
|
|
|
32
34
|
|
|
33
35
|
export const codec = (): Codec<PublicKey> => {
|
|
34
36
|
if (_codec == null) {
|
|
35
|
-
_codec = message<PublicKey>((obj,
|
|
37
|
+
_codec = message<PublicKey>((obj, w, opts = {}) => {
|
|
36
38
|
if (opts.lengthDelimited !== false) {
|
|
37
|
-
|
|
39
|
+
w.fork()
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
if (obj.Type != null) {
|
|
41
|
-
|
|
42
|
-
KeyType.codec().encode(obj.Type,
|
|
43
|
-
} else {
|
|
44
|
-
throw new Error('Protocol error: required field "Type" was not found in object')
|
|
43
|
+
w.uint32(8)
|
|
44
|
+
KeyType.codec().encode(obj.Type, w)
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
if (obj.Data != null) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
} else {
|
|
51
|
-
throw new Error('Protocol error: required field "Data" was not found in object')
|
|
48
|
+
w.uint32(18)
|
|
49
|
+
w.bytes(obj.Data)
|
|
52
50
|
}
|
|
53
51
|
|
|
54
52
|
if (opts.lengthDelimited !== false) {
|
|
55
|
-
|
|
53
|
+
w.ldelim()
|
|
56
54
|
}
|
|
57
55
|
}, (reader, length) => {
|
|
58
|
-
const obj: any = {
|
|
59
|
-
Type: KeyType.RSA,
|
|
60
|
-
Data: new Uint8Array(0)
|
|
61
|
-
}
|
|
56
|
+
const obj: any = {}
|
|
62
57
|
|
|
63
58
|
const end = length == null ? reader.len : reader.pos + length
|
|
64
59
|
|
|
@@ -78,14 +73,6 @@ export namespace PublicKey {
|
|
|
78
73
|
}
|
|
79
74
|
}
|
|
80
75
|
|
|
81
|
-
if (obj.Type == null) {
|
|
82
|
-
throw new Error('Protocol error: value for required field "Type" was not found in protobuf')
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (obj.Data == null) {
|
|
86
|
-
throw new Error('Protocol error: value for required field "Data" was not found in protobuf')
|
|
87
|
-
}
|
|
88
|
-
|
|
89
76
|
return obj
|
|
90
77
|
})
|
|
91
78
|
}
|
|
@@ -103,8 +90,8 @@ export namespace PublicKey {
|
|
|
103
90
|
}
|
|
104
91
|
|
|
105
92
|
export interface PrivateKey {
|
|
106
|
-
Type
|
|
107
|
-
Data
|
|
93
|
+
Type?: KeyType
|
|
94
|
+
Data?: Uint8Array
|
|
108
95
|
}
|
|
109
96
|
|
|
110
97
|
export namespace PrivateKey {
|
|
@@ -112,33 +99,26 @@ export namespace PrivateKey {
|
|
|
112
99
|
|
|
113
100
|
export const codec = (): Codec<PrivateKey> => {
|
|
114
101
|
if (_codec == null) {
|
|
115
|
-
_codec = message<PrivateKey>((obj,
|
|
102
|
+
_codec = message<PrivateKey>((obj, w, opts = {}) => {
|
|
116
103
|
if (opts.lengthDelimited !== false) {
|
|
117
|
-
|
|
104
|
+
w.fork()
|
|
118
105
|
}
|
|
119
106
|
|
|
120
107
|
if (obj.Type != null) {
|
|
121
|
-
|
|
122
|
-
KeyType.codec().encode(obj.Type,
|
|
123
|
-
} else {
|
|
124
|
-
throw new Error('Protocol error: required field "Type" was not found in object')
|
|
108
|
+
w.uint32(8)
|
|
109
|
+
KeyType.codec().encode(obj.Type, w)
|
|
125
110
|
}
|
|
126
111
|
|
|
127
112
|
if (obj.Data != null) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
} else {
|
|
131
|
-
throw new Error('Protocol error: required field "Data" was not found in object')
|
|
113
|
+
w.uint32(18)
|
|
114
|
+
w.bytes(obj.Data)
|
|
132
115
|
}
|
|
133
116
|
|
|
134
117
|
if (opts.lengthDelimited !== false) {
|
|
135
|
-
|
|
118
|
+
w.ldelim()
|
|
136
119
|
}
|
|
137
120
|
}, (reader, length) => {
|
|
138
|
-
const obj: any = {
|
|
139
|
-
Type: KeyType.RSA,
|
|
140
|
-
Data: new Uint8Array(0)
|
|
141
|
-
}
|
|
121
|
+
const obj: any = {}
|
|
142
122
|
|
|
143
123
|
const end = length == null ? reader.len : reader.pos + length
|
|
144
124
|
|
|
@@ -158,14 +138,6 @@ export namespace PrivateKey {
|
|
|
158
138
|
}
|
|
159
139
|
}
|
|
160
140
|
|
|
161
|
-
if (obj.Type == null) {
|
|
162
|
-
throw new Error('Protocol error: value for required field "Type" was not found in protobuf')
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
if (obj.Data == null) {
|
|
166
|
-
throw new Error('Protocol error: value for required field "Data" was not found in protobuf')
|
|
167
|
-
}
|
|
168
|
-
|
|
169
141
|
return obj
|
|
170
142
|
})
|
|
171
143
|
}
|