@peerbit/crypto 1.0.5 → 1.0.7
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/lib/esm/ed25519-sign-browser.js +1 -1
- package/lib/esm/ed25519-sign.js +5 -5
- package/lib/esm/ed25519.d.ts +1 -1
- package/lib/esm/ed25519.js +13 -10
- package/lib/esm/ed25519.js.map +1 -1
- package/lib/esm/encryption.js +19 -13
- package/lib/esm/encryption.js.map +1 -1
- package/lib/esm/index.d.ts +2 -0
- package/lib/esm/index.js +3 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/key.d.ts +1 -1
- package/lib/esm/keychain.d.ts +1 -1
- package/lib/esm/keychain.js +2 -2
- package/lib/esm/libp2p.d.ts +1 -1
- package/lib/esm/prehash.js +1 -1
- package/lib/esm/sepc256k1.d.ts +1 -1
- package/lib/esm/sepc256k1.js +13 -10
- package/lib/esm/sepc256k1.js.map +1 -1
- package/lib/esm/signature.js +5 -3
- package/lib/esm/signature.js.map +1 -1
- package/lib/esm/x25519.d.ts +1 -1
- package/lib/esm/x25519.js +17 -14
- package/lib/esm/x25519.js.map +1 -1
- package/package.json +5 -5
- package/src/ed25519-sign-browser.ts +1 -1
- package/src/ed25519-sign.ts +5 -5
- package/src/ed25519.ts +8 -8
- package/src/encryption.ts +7 -7
- package/src/index.ts +3 -0
- package/src/key.ts +1 -1
- package/src/keychain.ts +4 -4
- package/src/libp2p.ts +1 -1
- package/src/prehash.ts +2 -2
- package/src/sepc256k1.ts +8 -8
- package/src/signature.ts +1 -1
- package/src/x25519.ts +12 -12
|
@@ -9,7 +9,7 @@ export const sign = async (data, keypair, prehash) => {
|
|
|
9
9
|
return new SignatureWithKey({
|
|
10
10
|
prehash,
|
|
11
11
|
publicKey: keypair.publicKey,
|
|
12
|
-
signature: sodium.crypto_sign_detached(hashedData, keypair.privateKeyPublicKey)
|
|
12
|
+
signature: sodium.crypto_sign_detached(hashedData, keypair.privateKeyPublicKey)
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
export const verifySignatureEd25519 = async (signature, data) => {
|
package/lib/esm/ed25519-sign.js
CHANGED
|
@@ -8,13 +8,13 @@ export const sign = async (data, keypair, prehash) => {
|
|
|
8
8
|
keypair.privateKey.keyObject = crypto.createPrivateKey({
|
|
9
9
|
format: "der",
|
|
10
10
|
type: "pkcs8",
|
|
11
|
-
key: toDER(keypair.privateKeyPublicKey, true)
|
|
11
|
+
key: toDER(keypair.privateKeyPublicKey, true)
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
return new SignatureWithKey({
|
|
15
15
|
prehash,
|
|
16
16
|
publicKey: keypair.publicKey,
|
|
17
|
-
signature: crypto.sign(null, hashedData, keypair.privateKey.keyObject)
|
|
17
|
+
signature: crypto.sign(null, hashedData, keypair.privateKey.keyObject)
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
export const verifySignatureEd25519 = async (signature, data) => {
|
|
@@ -31,7 +31,7 @@ export const verifySignatureEd25519 = async (signature, data) => {
|
|
|
31
31
|
return res;
|
|
32
32
|
};
|
|
33
33
|
const DER_PREFIX = Buffer.from([
|
|
34
|
-
48, 46, 2, 1, 0, 48, 5, 6, 3, 43, 101, 112, 4, 34, 4, 32
|
|
34
|
+
48, 46, 2, 1, 0, 48, 5, 6, 3, 43, 101, 112, 4, 34, 4, 32
|
|
35
35
|
]);
|
|
36
36
|
const ED25519_OID = Buffer.from([0x06, 0x03, 0x2b, 0x65, 0x70]);
|
|
37
37
|
const SEQUENCE_TAG = Buffer.from([0x30]); // Sequence tag
|
|
@@ -51,13 +51,13 @@ function toDER(key, p = false) {
|
|
|
51
51
|
BIT_TAG,
|
|
52
52
|
Buffer.from([key.length + 1]),
|
|
53
53
|
ZERO_BIT_TAG,
|
|
54
|
-
key
|
|
54
|
+
key
|
|
55
55
|
]);
|
|
56
56
|
// Wrap up by creating a sequence of elements
|
|
57
57
|
const der = Buffer.concat([
|
|
58
58
|
SEQUENCE_TAG,
|
|
59
59
|
Buffer.from([elements.length]),
|
|
60
|
-
elements
|
|
60
|
+
elements
|
|
61
61
|
]);
|
|
62
62
|
return der;
|
|
63
63
|
}
|
package/lib/esm/ed25519.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PrivateSignKey, PublicSignKey, Keypair } from "./key.js";
|
|
2
2
|
import { Identity, SignWithKey } from "./signer.js";
|
|
3
3
|
import { SignatureWithKey } from "./signature.js";
|
|
4
|
-
import type { Ed25519PeerId, PeerId } from "@libp2p/interface
|
|
4
|
+
import type { Ed25519PeerId, PeerId } from "@libp2p/interface/peer-id";
|
|
5
5
|
import { PreHash } from "./prehash.js";
|
|
6
6
|
export declare class Ed25519PublicKey extends PublicSignKey {
|
|
7
7
|
publicKey: Uint8Array;
|
package/lib/esm/ed25519.js
CHANGED
|
@@ -19,7 +19,7 @@ import sodium from "libsodium-wrappers";
|
|
|
19
19
|
import { sign } from "./ed25519-sign.js";
|
|
20
20
|
import { PreHash } from "./prehash.js";
|
|
21
21
|
import { concat } from "uint8arrays";
|
|
22
|
-
|
|
22
|
+
let Ed25519PublicKey = Ed25519PublicKey_1 = class Ed25519PublicKey extends PublicSignKey {
|
|
23
23
|
publicKey;
|
|
24
24
|
constructor(properties) {
|
|
25
25
|
super();
|
|
@@ -58,7 +58,7 @@ export let Ed25519PublicKey = Ed25519PublicKey_1 = class Ed25519PublicKey extend
|
|
|
58
58
|
}
|
|
59
59
|
if (id.type === "Ed25519") {
|
|
60
60
|
return new Ed25519PublicKey_1({
|
|
61
|
-
publicKey: coerce(id.publicKey.slice(4))
|
|
61
|
+
publicKey: coerce(id.publicKey.slice(4))
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -72,7 +72,8 @@ Ed25519PublicKey = Ed25519PublicKey_1 = __decorate([
|
|
|
72
72
|
variant(0),
|
|
73
73
|
__metadata("design:paramtypes", [Object])
|
|
74
74
|
], Ed25519PublicKey);
|
|
75
|
-
export
|
|
75
|
+
export { Ed25519PublicKey };
|
|
76
|
+
let Ed25519PrivateKey = Ed25519PrivateKey_1 = class Ed25519PrivateKey extends PrivateSignKey {
|
|
76
77
|
privateKey;
|
|
77
78
|
constructor(properties) {
|
|
78
79
|
super();
|
|
@@ -97,7 +98,7 @@ export let Ed25519PrivateKey = Ed25519PrivateKey_1 = class Ed25519PrivateKey ext
|
|
|
97
98
|
}
|
|
98
99
|
if (id.type === "Ed25519") {
|
|
99
100
|
return new Ed25519PrivateKey_1({
|
|
100
|
-
privateKey: coerce(id.privateKey.slice(4, 36))
|
|
101
|
+
privateKey: coerce(id.privateKey.slice(4, 36))
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
104
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -111,7 +112,8 @@ Ed25519PrivateKey = Ed25519PrivateKey_1 = __decorate([
|
|
|
111
112
|
variant(0),
|
|
112
113
|
__metadata("design:paramtypes", [Object])
|
|
113
114
|
], Ed25519PrivateKey);
|
|
114
|
-
export
|
|
115
|
+
export { Ed25519PrivateKey };
|
|
116
|
+
let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keypair {
|
|
115
117
|
publicKey;
|
|
116
118
|
privateKey;
|
|
117
119
|
constructor(properties) {
|
|
@@ -124,11 +126,11 @@ export let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keyp
|
|
|
124
126
|
const generated = sodium.crypto_sign_keypair();
|
|
125
127
|
const kp = new Ed25519Keypair_1({
|
|
126
128
|
publicKey: new Ed25519PublicKey({
|
|
127
|
-
publicKey: generated.publicKey
|
|
129
|
+
publicKey: generated.publicKey
|
|
128
130
|
}),
|
|
129
131
|
privateKey: new Ed25519PrivateKey({
|
|
130
|
-
privateKey: generated.privateKey.slice(0, 32)
|
|
131
|
-
})
|
|
132
|
+
privateKey: generated.privateKey.slice(0, 32) // Only the private key part (?)
|
|
133
|
+
})
|
|
132
134
|
});
|
|
133
135
|
return kp;
|
|
134
136
|
}
|
|
@@ -150,7 +152,7 @@ export let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keyp
|
|
|
150
152
|
static fromPeerId(peerId) {
|
|
151
153
|
return new Ed25519Keypair_1({
|
|
152
154
|
privateKey: Ed25519PrivateKey.fromPeerID(peerId),
|
|
153
|
-
publicKey: Ed25519PublicKey.fromPeerId(peerId)
|
|
155
|
+
publicKey: Ed25519PublicKey.fromPeerId(peerId)
|
|
154
156
|
});
|
|
155
157
|
}
|
|
156
158
|
_privateKeyPublicKey; // length 64
|
|
@@ -158,7 +160,7 @@ export let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keyp
|
|
|
158
160
|
return (this._privateKeyPublicKey ||
|
|
159
161
|
(this._privateKeyPublicKey = concat([
|
|
160
162
|
this.privateKey.privateKey,
|
|
161
|
-
this.publicKey.publicKey
|
|
163
|
+
this.publicKey.publicKey
|
|
162
164
|
])));
|
|
163
165
|
}
|
|
164
166
|
toPeerId() {
|
|
@@ -178,4 +180,5 @@ Ed25519Keypair = Ed25519Keypair_1 = __decorate([
|
|
|
178
180
|
variant(0),
|
|
179
181
|
__metadata("design:paramtypes", [Object])
|
|
180
182
|
], Ed25519Keypair);
|
|
183
|
+
export { Ed25519Keypair };
|
|
181
184
|
//# sourceMappingURL=ed25519.js.map
|
package/lib/esm/ed25519.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG9B,
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/encryption.js
CHANGED
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
var DecryptedThing_1, CipherWithNonce_1, K_1, Envelope_1, EncryptedThing_1;
|
|
11
11
|
export * from "./errors.js";
|
|
12
|
-
import { deserialize, field, serialize, variant, vec
|
|
12
|
+
import { deserialize, field, serialize, variant, vec } from "@dao-xyz/borsh";
|
|
13
13
|
import { equals } from "@peerbit/uint8arrays";
|
|
14
14
|
import { AccessError } from "./errors.js";
|
|
15
15
|
import sodium from "libsodium-wrappers";
|
|
@@ -17,7 +17,7 @@ import { X25519Keypair, X25519PublicKey, X25519SecretKey } from "./x25519.js";
|
|
|
17
17
|
import { Ed25519PublicKey } from "./ed25519.js";
|
|
18
18
|
import { randomBytes } from "./random.js";
|
|
19
19
|
const NONCE_LENGTH = 24;
|
|
20
|
-
|
|
20
|
+
let MaybeEncrypted = class MaybeEncrypted {
|
|
21
21
|
/**
|
|
22
22
|
* Will throw error if not decrypted
|
|
23
23
|
*/
|
|
@@ -40,7 +40,8 @@ export let MaybeEncrypted = class MaybeEncrypted {
|
|
|
40
40
|
MaybeEncrypted = __decorate([
|
|
41
41
|
variant(0)
|
|
42
42
|
], MaybeEncrypted);
|
|
43
|
-
export
|
|
43
|
+
export { MaybeEncrypted };
|
|
44
|
+
let DecryptedThing = DecryptedThing_1 = class DecryptedThing extends MaybeEncrypted {
|
|
44
45
|
_data;
|
|
45
46
|
constructor(props) {
|
|
46
47
|
super();
|
|
@@ -75,9 +76,9 @@ export let DecryptedThing = DecryptedThing_1 = class DecryptedThing extends Mayb
|
|
|
75
76
|
return new K({
|
|
76
77
|
encryptedKey: new CipherWithNonce({
|
|
77
78
|
cipher: sodium.crypto_box_easy(epheremalKey, kNonce, receiverPublicKey.publicKey, x25519Keypair.secretKey.secretKey),
|
|
78
|
-
nonce: kNonce
|
|
79
|
+
nonce: kNonce
|
|
79
80
|
}),
|
|
80
|
-
receiverPublicKey
|
|
81
|
+
receiverPublicKey
|
|
81
82
|
});
|
|
82
83
|
});
|
|
83
84
|
const enc = new EncryptedThing({
|
|
@@ -85,8 +86,8 @@ export let DecryptedThing = DecryptedThing_1 = class DecryptedThing extends Mayb
|
|
|
85
86
|
nonce,
|
|
86
87
|
envelope: new Envelope({
|
|
87
88
|
senderPublicKey: x25519Keypair.publicKey,
|
|
88
|
-
ks
|
|
89
|
-
})
|
|
89
|
+
ks
|
|
90
|
+
})
|
|
90
91
|
});
|
|
91
92
|
enc._decrypted = this;
|
|
92
93
|
return enc;
|
|
@@ -120,7 +121,8 @@ DecryptedThing = DecryptedThing_1 = __decorate([
|
|
|
120
121
|
variant(0),
|
|
121
122
|
__metadata("design:paramtypes", [Object])
|
|
122
123
|
], DecryptedThing);
|
|
123
|
-
export
|
|
124
|
+
export { DecryptedThing };
|
|
125
|
+
let CipherWithNonce = CipherWithNonce_1 = class CipherWithNonce {
|
|
124
126
|
nonce;
|
|
125
127
|
cipher;
|
|
126
128
|
constructor(props) {
|
|
@@ -150,7 +152,8 @@ CipherWithNonce = CipherWithNonce_1 = __decorate([
|
|
|
150
152
|
variant(0),
|
|
151
153
|
__metadata("design:paramtypes", [Object])
|
|
152
154
|
], CipherWithNonce);
|
|
153
|
-
export
|
|
155
|
+
export { CipherWithNonce };
|
|
156
|
+
let K = K_1 = class K {
|
|
154
157
|
_encryptedKey;
|
|
155
158
|
_receiverPublicKey;
|
|
156
159
|
constructor(props) {
|
|
@@ -181,7 +184,8 @@ K = K_1 = __decorate([
|
|
|
181
184
|
variant(0),
|
|
182
185
|
__metadata("design:paramtypes", [Object])
|
|
183
186
|
], K);
|
|
184
|
-
export
|
|
187
|
+
export { K };
|
|
188
|
+
let Envelope = Envelope_1 = class Envelope {
|
|
185
189
|
_senderPublicKey;
|
|
186
190
|
_ks;
|
|
187
191
|
constructor(props) {
|
|
@@ -222,7 +226,8 @@ Envelope = Envelope_1 = __decorate([
|
|
|
222
226
|
variant(0),
|
|
223
227
|
__metadata("design:paramtypes", [Object])
|
|
224
228
|
], Envelope);
|
|
225
|
-
export
|
|
229
|
+
export { Envelope };
|
|
230
|
+
let EncryptedThing = EncryptedThing_1 = class EncryptedThing extends MaybeEncrypted {
|
|
226
231
|
_encrypted;
|
|
227
232
|
_nonce;
|
|
228
233
|
_envelope;
|
|
@@ -255,7 +260,7 @@ export let EncryptedThing = EncryptedThing_1 = class EncryptedThing extends Mayb
|
|
|
255
260
|
if (k._receiverPublicKey.equals(keyResolver.publicKey)) {
|
|
256
261
|
key = {
|
|
257
262
|
index: i,
|
|
258
|
-
keypair: keyResolver
|
|
263
|
+
keypair: keyResolver
|
|
259
264
|
};
|
|
260
265
|
}
|
|
261
266
|
}
|
|
@@ -266,7 +271,7 @@ export let EncryptedThing = EncryptedThing_1 = class EncryptedThing extends Mayb
|
|
|
266
271
|
if (exported) {
|
|
267
272
|
key = {
|
|
268
273
|
index: i,
|
|
269
|
-
keypair: exported
|
|
274
|
+
keypair: exported
|
|
270
275
|
};
|
|
271
276
|
break;
|
|
272
277
|
}
|
|
@@ -347,4 +352,5 @@ EncryptedThing = EncryptedThing_1 = __decorate([
|
|
|
347
352
|
variant(1),
|
|
348
353
|
__metadata("design:paramtypes", [Object])
|
|
349
354
|
], EncryptedThing);
|
|
355
|
+
export { EncryptedThing };
|
|
350
356
|
//# sourceMappingURL=encryption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/encryption.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAEN,WAAW,EACX,KAAK,EACL,SAAS,EACT,OAAO,EACP,GAAG,
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/encryption.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -12,4 +12,7 @@ export * from "./random.js";
|
|
|
12
12
|
export * from "./prehash.js";
|
|
13
13
|
export * from "./signer.js";
|
|
14
14
|
export * from "./keychain.js";
|
|
15
|
+
import libsodium from "libsodium-wrappers";
|
|
16
|
+
const ready = libsodium.ready; // TODO can we export ready directly ?
|
|
17
|
+
export { ready };
|
|
15
18
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,uCAAuC;AACtE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/lib/esm/key.d.ts
CHANGED
package/lib/esm/keychain.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KeyChain as InternalKeychain } from "@libp2p/interface
|
|
1
|
+
import { KeyChain as InternalKeychain } from "@libp2p/interface/keychain";
|
|
2
2
|
import { Cache } from "@peerbit/cache";
|
|
3
3
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
4
4
|
import { X25519Keypair, X25519PublicKey } from "./x25519.js";
|
package/lib/esm/keychain.js
CHANGED
|
@@ -14,7 +14,7 @@ export class Libp2pKeychain {
|
|
|
14
14
|
keychainKeyIdFromPublicKey(publicKey) {
|
|
15
15
|
const bytes = keysPBM.PublicKey.encode({
|
|
16
16
|
Type: keysPBM.KeyType.Ed25519,
|
|
17
|
-
Data: publicKey.publicKey
|
|
17
|
+
Data: publicKey.publicKey
|
|
18
18
|
}).subarray();
|
|
19
19
|
const encoding = identity.digest(bytes);
|
|
20
20
|
return base58btc.encode(encoding.bytes).substring(1);
|
|
@@ -125,7 +125,7 @@ export class Libp2pKeychain {
|
|
|
125
125
|
if (key && key instanceof X25519Keypair) {
|
|
126
126
|
return {
|
|
127
127
|
index: i,
|
|
128
|
-
keypair: key
|
|
128
|
+
keypair: key
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
}
|
package/lib/esm/libp2p.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PeerId } from "@libp2p/interface
|
|
1
|
+
import { PeerId } from "@libp2p/interface/peer-id";
|
|
2
2
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
3
3
|
import { Secp256k1Keypair, Secp256k1PublicKey } from "./sepc256k1.js";
|
|
4
4
|
export declare const getKeypairFromPeerId: (peerId: PeerId) => Ed25519Keypair | Secp256k1Keypair;
|
package/lib/esm/prehash.js
CHANGED
package/lib/esm/sepc256k1.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
2
2
|
import { Wallet } from "@ethersproject/wallet";
|
|
3
3
|
import { SignatureLike } from "@ethersproject/bytes";
|
|
4
|
-
import { PeerId } from "@libp2p/interface
|
|
4
|
+
import { PeerId } from "@libp2p/interface/peer-id";
|
|
5
5
|
import { Identity } from "./signer.js";
|
|
6
6
|
import { SignatureWithKey } from "./signature.js";
|
|
7
7
|
import { PreHash } from "./prehash.js";
|
package/lib/esm/sepc256k1.js
CHANGED
|
@@ -25,7 +25,7 @@ import utf8 from "@protobufjs/utf8";
|
|
|
25
25
|
import { SignatureWithKey } from "./signature.js";
|
|
26
26
|
import { PreHash, prehashFn } from "./prehash.js";
|
|
27
27
|
import { peerIdFromKeys } from "@libp2p/peer-id";
|
|
28
|
-
|
|
28
|
+
let Secp256k1PublicKey = Secp256k1PublicKey_1 = class Secp256k1PublicKey extends PublicSignKey {
|
|
29
29
|
publicKey;
|
|
30
30
|
constructor(properties) {
|
|
31
31
|
super();
|
|
@@ -57,7 +57,7 @@ export let Secp256k1PublicKey = Secp256k1PublicKey_1 = class Secp256k1PublicKey
|
|
|
57
57
|
}
|
|
58
58
|
if (id.type === "secp256k1") {
|
|
59
59
|
return new Secp256k1PublicKey_1({
|
|
60
|
-
publicKey: id.publicKey.slice(4)
|
|
60
|
+
publicKey: id.publicKey.slice(4) // computeAddress(!.slice(4)),
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -71,7 +71,8 @@ Secp256k1PublicKey = Secp256k1PublicKey_1 = __decorate([
|
|
|
71
71
|
variant(1),
|
|
72
72
|
__metadata("design:paramtypes", [Object])
|
|
73
73
|
], Secp256k1PublicKey);
|
|
74
|
-
export
|
|
74
|
+
export { Secp256k1PublicKey };
|
|
75
|
+
let Secp256k1PrivateKey = Secp256k1PrivateKey_1 = class Secp256k1PrivateKey extends PrivateSignKey {
|
|
75
76
|
privateKey;
|
|
76
77
|
constructor(properties) {
|
|
77
78
|
super();
|
|
@@ -95,7 +96,7 @@ export let Secp256k1PrivateKey = Secp256k1PrivateKey_1 = class Secp256k1PrivateK
|
|
|
95
96
|
}
|
|
96
97
|
if (id.type === "secp256k1") {
|
|
97
98
|
return new Secp256k1PrivateKey_1({
|
|
98
|
-
privateKey: coerce(id.privateKey.slice(4))
|
|
99
|
+
privateKey: coerce(id.privateKey.slice(4))
|
|
99
100
|
});
|
|
100
101
|
}
|
|
101
102
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -109,7 +110,8 @@ Secp256k1PrivateKey = Secp256k1PrivateKey_1 = __decorate([
|
|
|
109
110
|
variant(1),
|
|
110
111
|
__metadata("design:paramtypes", [Object])
|
|
111
112
|
], Secp256k1PrivateKey);
|
|
112
|
-
export
|
|
113
|
+
export { Secp256k1PrivateKey };
|
|
114
|
+
let Secp256k1Keypair = Secp256k1Keypair_1 = class Secp256k1Keypair extends Keypair {
|
|
113
115
|
publicKey;
|
|
114
116
|
privateKey;
|
|
115
117
|
_wallet;
|
|
@@ -122,11 +124,11 @@ export let Secp256k1Keypair = Secp256k1Keypair_1 = class Secp256k1Keypair extend
|
|
|
122
124
|
const generated = await generateKeyPair("secp256k1");
|
|
123
125
|
const kp = new Secp256k1Keypair_1({
|
|
124
126
|
publicKey: new Secp256k1PublicKey({
|
|
125
|
-
publicKey: generated.public.marshal()
|
|
127
|
+
publicKey: generated.public.marshal()
|
|
126
128
|
}),
|
|
127
129
|
privateKey: new Secp256k1PrivateKey({
|
|
128
|
-
privateKey: generated.marshal()
|
|
129
|
-
})
|
|
130
|
+
privateKey: generated.marshal()
|
|
131
|
+
})
|
|
130
132
|
});
|
|
131
133
|
return kp;
|
|
132
134
|
}
|
|
@@ -140,7 +142,7 @@ export let Secp256k1Keypair = Secp256k1Keypair_1 = class Secp256k1Keypair extend
|
|
|
140
142
|
return new SignatureWithKey({
|
|
141
143
|
prehash,
|
|
142
144
|
publicKey: this.publicKey,
|
|
143
|
-
signature: signatureBytes
|
|
145
|
+
signature: signatureBytes
|
|
144
146
|
});
|
|
145
147
|
}
|
|
146
148
|
equals(other) {
|
|
@@ -153,7 +155,7 @@ export let Secp256k1Keypair = Secp256k1Keypair_1 = class Secp256k1Keypair extend
|
|
|
153
155
|
static fromPeerId(peerId) {
|
|
154
156
|
return new Secp256k1Keypair_1({
|
|
155
157
|
privateKey: Secp256k1PrivateKey.from(peerId),
|
|
156
|
-
publicKey: Secp256k1PublicKey.from(peerId)
|
|
158
|
+
publicKey: Secp256k1PublicKey.from(peerId)
|
|
157
159
|
});
|
|
158
160
|
}
|
|
159
161
|
toPeerId() {
|
|
@@ -172,6 +174,7 @@ Secp256k1Keypair = Secp256k1Keypair_1 = __decorate([
|
|
|
172
174
|
variant(2),
|
|
173
175
|
__metadata("design:paramtypes", [Object])
|
|
174
176
|
], Secp256k1Keypair);
|
|
177
|
+
export { Secp256k1Keypair };
|
|
175
178
|
const decoder = new TextDecoder();
|
|
176
179
|
function getCurve() {
|
|
177
180
|
if (!_curve) {
|
package/lib/esm/sepc256k1.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sepc256k1.js","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAO,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAiB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,IAAO,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;AACnB,IAAI,MAAU,CAAC;AAEf,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG1C,
|
|
1
|
+
{"version":3,"file":"sepc256k1.js","sourceRoot":"","sources":["../../src/sepc256k1.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/signature.js
CHANGED
|
@@ -7,14 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { deserialize, variant, field, option, serialize
|
|
10
|
+
import { deserialize, variant, field, option, serialize } from "@dao-xyz/borsh";
|
|
11
11
|
import { equals } from "@peerbit/uint8arrays";
|
|
12
12
|
import { verifySignatureEd25519 } from "./ed25519-sign.js";
|
|
13
13
|
import { Ed25519PublicKey } from "./ed25519.js";
|
|
14
14
|
import { PublicSignKey } from "./key.js";
|
|
15
15
|
import { PreHash } from "./prehash.js";
|
|
16
16
|
import { Secp256k1PublicKey, verifySignatureSecp256k1 } from "./sepc256k1.js";
|
|
17
|
-
|
|
17
|
+
let SignatureWithKey = class SignatureWithKey {
|
|
18
18
|
signature;
|
|
19
19
|
publicKey;
|
|
20
20
|
prehash = PreHash.NONE; // 0 no prehash, 1 sha256, 2 blake3?
|
|
@@ -49,7 +49,8 @@ SignatureWithKey = __decorate([
|
|
|
49
49
|
variant(0),
|
|
50
50
|
__metadata("design:paramtypes", [Object])
|
|
51
51
|
], SignatureWithKey);
|
|
52
|
-
export
|
|
52
|
+
export { SignatureWithKey };
|
|
53
|
+
let MaybeSigned = class MaybeSigned {
|
|
53
54
|
data;
|
|
54
55
|
signature;
|
|
55
56
|
constructor(props) {
|
|
@@ -103,6 +104,7 @@ MaybeSigned = __decorate([
|
|
|
103
104
|
variant(0),
|
|
104
105
|
__metadata("design:paramtypes", [Object])
|
|
105
106
|
], MaybeSigned);
|
|
107
|
+
export { MaybeSigned };
|
|
106
108
|
export const verify = async (signature, data) => {
|
|
107
109
|
if (signature.publicKey instanceof Ed25519PublicKey) {
|
|
108
110
|
return verifySignatureEd25519(signature, data);
|
package/lib/esm/signature.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACN,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/x25519.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./errors.js";
|
|
2
2
|
import { Keypair, PrivateEncryptionKey, PublicKeyEncryptionKey } from "./key.js";
|
|
3
3
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
4
|
-
import { PeerId } from "@libp2p/interface
|
|
4
|
+
import { PeerId } from "@libp2p/interface/peer-id";
|
|
5
5
|
export declare class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
6
6
|
publicKey: Uint8Array;
|
|
7
7
|
constructor(properties: {
|
package/lib/esm/x25519.js
CHANGED
|
@@ -12,10 +12,10 @@ export * from "./errors.js";
|
|
|
12
12
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
13
13
|
import { compare } from "@peerbit/uint8arrays";
|
|
14
14
|
import sodium from "libsodium-wrappers";
|
|
15
|
-
import { Keypair, PrivateEncryptionKey, PublicKeyEncryptionKey
|
|
16
|
-
import { Ed25519Keypair, Ed25519PublicKey
|
|
15
|
+
import { Keypair, PrivateEncryptionKey, PublicKeyEncryptionKey } from "./key.js";
|
|
16
|
+
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
17
17
|
import { toHexString } from "./utils.js";
|
|
18
|
-
|
|
18
|
+
let X25519PublicKey = X25519PublicKey_1 = class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
19
19
|
publicKey;
|
|
20
20
|
constructor(properties) {
|
|
21
21
|
super();
|
|
@@ -36,7 +36,7 @@ export let X25519PublicKey = X25519PublicKey_1 = class X25519PublicKey extends P
|
|
|
36
36
|
static async from(ed25119PublicKey) {
|
|
37
37
|
await sodium.ready;
|
|
38
38
|
return new X25519PublicKey_1({
|
|
39
|
-
publicKey: sodium.crypto_sign_ed25519_pk_to_curve25519(ed25119PublicKey.publicKey)
|
|
39
|
+
publicKey: sodium.crypto_sign_ed25519_pk_to_curve25519(ed25119PublicKey.publicKey)
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
static async fromPeerId(peerId) {
|
|
@@ -47,7 +47,7 @@ export let X25519PublicKey = X25519PublicKey_1 = class X25519PublicKey extends P
|
|
|
47
47
|
static async create() {
|
|
48
48
|
await sodium.ready;
|
|
49
49
|
return new X25519PublicKey_1({
|
|
50
|
-
publicKey: sodium.crypto_box_keypair().publicKey
|
|
50
|
+
publicKey: sodium.crypto_box_keypair().publicKey
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
};
|
|
@@ -59,7 +59,8 @@ X25519PublicKey = X25519PublicKey_1 = __decorate([
|
|
|
59
59
|
variant(0),
|
|
60
60
|
__metadata("design:paramtypes", [Object])
|
|
61
61
|
], X25519PublicKey);
|
|
62
|
-
export
|
|
62
|
+
export { X25519PublicKey };
|
|
63
|
+
let X25519SecretKey = X25519SecretKey_1 = class X25519SecretKey extends PrivateEncryptionKey {
|
|
63
64
|
secretKey;
|
|
64
65
|
constructor(properties) {
|
|
65
66
|
super();
|
|
@@ -79,19 +80,19 @@ export let X25519SecretKey = X25519SecretKey_1 = class X25519SecretKey extends P
|
|
|
79
80
|
}
|
|
80
81
|
async publicKey() {
|
|
81
82
|
return new X25519PublicKey({
|
|
82
|
-
publicKey: sodium.crypto_scalarmult_base(this.secretKey)
|
|
83
|
+
publicKey: sodium.crypto_scalarmult_base(this.secretKey)
|
|
83
84
|
});
|
|
84
85
|
}
|
|
85
86
|
static async from(ed25119Keypair) {
|
|
86
87
|
await sodium.ready;
|
|
87
88
|
return new X25519SecretKey_1({
|
|
88
|
-
secretKey: sodium.crypto_sign_ed25519_sk_to_curve25519(ed25119Keypair.privateKeyPublicKey)
|
|
89
|
+
secretKey: sodium.crypto_sign_ed25519_sk_to_curve25519(ed25119Keypair.privateKeyPublicKey)
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
92
|
static async create() {
|
|
92
93
|
await sodium.ready;
|
|
93
94
|
return new X25519SecretKey_1({
|
|
94
|
-
secretKey: sodium.crypto_box_keypair().privateKey
|
|
95
|
+
secretKey: sodium.crypto_box_keypair().privateKey
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
98
|
};
|
|
@@ -103,7 +104,8 @@ X25519SecretKey = X25519SecretKey_1 = __decorate([
|
|
|
103
104
|
variant(0),
|
|
104
105
|
__metadata("design:paramtypes", [Object])
|
|
105
106
|
], X25519SecretKey);
|
|
106
|
-
export
|
|
107
|
+
export { X25519SecretKey };
|
|
108
|
+
let X25519Keypair = X25519Keypair_1 = class X25519Keypair extends Keypair {
|
|
107
109
|
publicKey;
|
|
108
110
|
secretKey;
|
|
109
111
|
constructor(properties) {
|
|
@@ -116,18 +118,18 @@ export let X25519Keypair = X25519Keypair_1 = class X25519Keypair extends Keypair
|
|
|
116
118
|
const generated = sodium.crypto_box_keypair();
|
|
117
119
|
const kp = new X25519Keypair_1({
|
|
118
120
|
publicKey: new X25519PublicKey({
|
|
119
|
-
publicKey: generated.publicKey
|
|
121
|
+
publicKey: generated.publicKey
|
|
120
122
|
}),
|
|
121
123
|
secretKey: new X25519SecretKey({
|
|
122
|
-
secretKey: generated.privateKey
|
|
123
|
-
})
|
|
124
|
+
secretKey: generated.privateKey
|
|
125
|
+
})
|
|
124
126
|
});
|
|
125
127
|
return kp;
|
|
126
128
|
}
|
|
127
129
|
static async from(ed25119Keypair) {
|
|
128
130
|
const kp = new X25519Keypair_1({
|
|
129
131
|
publicKey: await X25519PublicKey.from(ed25119Keypair.publicKey),
|
|
130
|
-
secretKey: await X25519SecretKey.from(ed25119Keypair)
|
|
132
|
+
secretKey: await X25519SecretKey.from(ed25119Keypair)
|
|
131
133
|
});
|
|
132
134
|
return kp;
|
|
133
135
|
}
|
|
@@ -155,4 +157,5 @@ X25519Keypair = X25519Keypair_1 = __decorate([
|
|
|
155
157
|
variant(1),
|
|
156
158
|
__metadata("design:paramtypes", [Object])
|
|
157
159
|
], X25519Keypair);
|
|
160
|
+
export { X25519Keypair };
|
|
158
161
|
//# sourceMappingURL=x25519.js.map
|
package/lib/esm/x25519.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"x25519.js","sourceRoot":"","sources":["../../src/x25519.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/crypto",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Crypto fn",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@dao-xyz/borsh": "^5.1.5",
|
|
47
47
|
"@ethersproject/wallet": "^5.7.0",
|
|
48
|
-
"@libp2p/crypto": "^
|
|
49
|
-
"@libp2p/peer-id": "^
|
|
50
|
-
"@peerbit/cache": "^1.0
|
|
48
|
+
"@libp2p/crypto": "^2.0.3",
|
|
49
|
+
"@libp2p/peer-id": "^3.0.2",
|
|
50
|
+
"@peerbit/cache": "^1.1.0",
|
|
51
51
|
"@peerbit/uint8arrays": "3.0.1",
|
|
52
52
|
"libsodium-wrappers": "^0.7.11"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "b1e1a717e7c7aae00909c2fcb0944efa54f4523c"
|
|
55
55
|
}
|
package/src/ed25519-sign.ts
CHANGED
|
@@ -15,13 +15,13 @@ export const sign = async (
|
|
|
15
15
|
keypair.privateKey.keyObject = crypto.createPrivateKey({
|
|
16
16
|
format: "der",
|
|
17
17
|
type: "pkcs8",
|
|
18
|
-
key: toDER(keypair.privateKeyPublicKey, true)
|
|
18
|
+
key: toDER(keypair.privateKeyPublicKey, true)
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
return new SignatureWithKey({
|
|
22
22
|
prehash,
|
|
23
23
|
publicKey: keypair.publicKey,
|
|
24
|
-
signature: crypto.sign(null, hashedData, keypair.privateKey.keyObject)
|
|
24
|
+
signature: crypto.sign(null, hashedData, keypair.privateKey.keyObject)
|
|
25
25
|
});
|
|
26
26
|
};
|
|
27
27
|
|
|
@@ -47,7 +47,7 @@ export const verifySignatureEd25519 = async (
|
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
const DER_PREFIX = Buffer.from([
|
|
50
|
-
48, 46, 2, 1, 0, 48, 5, 6, 3, 43, 101, 112, 4, 34, 4, 32
|
|
50
|
+
48, 46, 2, 1, 0, 48, 5, 6, 3, 43, 101, 112, 4, 34, 4, 32
|
|
51
51
|
]);
|
|
52
52
|
const ED25519_OID = Buffer.from([0x06, 0x03, 0x2b, 0x65, 0x70]);
|
|
53
53
|
const SEQUENCE_TAG = Buffer.from([0x30]); // Sequence tag
|
|
@@ -69,14 +69,14 @@ function toDER(key: Uint8Array, p = false) {
|
|
|
69
69
|
BIT_TAG,
|
|
70
70
|
Buffer.from([key.length + 1]),
|
|
71
71
|
ZERO_BIT_TAG,
|
|
72
|
-
key
|
|
72
|
+
key
|
|
73
73
|
]);
|
|
74
74
|
|
|
75
75
|
// Wrap up by creating a sequence of elements
|
|
76
76
|
const der = Buffer.concat([
|
|
77
77
|
SEQUENCE_TAG,
|
|
78
78
|
Buffer.from([elements.length]),
|
|
79
|
-
elements
|
|
79
|
+
elements
|
|
80
80
|
]);
|
|
81
81
|
|
|
82
82
|
return der;
|
package/src/ed25519.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { peerIdFromKeys } from "@libp2p/peer-id";
|
|
|
8
8
|
import { supportedKeys } from "@libp2p/crypto/keys";
|
|
9
9
|
import { coerce } from "./bytes.js";
|
|
10
10
|
import sodium from "libsodium-wrappers";
|
|
11
|
-
import type { Ed25519PeerId, PeerId } from "@libp2p/interface
|
|
11
|
+
import type { Ed25519PeerId, PeerId } from "@libp2p/interface/peer-id";
|
|
12
12
|
import { sign } from "./ed25519-sign.js";
|
|
13
13
|
import { PreHash } from "./prehash.js";
|
|
14
14
|
import { concat } from "uint8arrays";
|
|
@@ -60,7 +60,7 @@ export class Ed25519PublicKey extends PublicSignKey {
|
|
|
60
60
|
}
|
|
61
61
|
if (id.type === "Ed25519") {
|
|
62
62
|
return new Ed25519PublicKey({
|
|
63
|
-
publicKey: coerce(id.publicKey!.slice(4))
|
|
63
|
+
publicKey: coerce(id.publicKey!.slice(4))
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -101,7 +101,7 @@ export class Ed25519PrivateKey extends PrivateSignKey {
|
|
|
101
101
|
}
|
|
102
102
|
if (id.type === "Ed25519") {
|
|
103
103
|
return new Ed25519PrivateKey({
|
|
104
|
-
privateKey: coerce(id.privateKey!.slice(4, 36))
|
|
104
|
+
privateKey: coerce(id.privateKey!.slice(4, 36))
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -130,11 +130,11 @@ export class Ed25519Keypair extends Keypair implements Identity {
|
|
|
130
130
|
const generated = sodium.crypto_sign_keypair();
|
|
131
131
|
const kp = new Ed25519Keypair({
|
|
132
132
|
publicKey: new Ed25519PublicKey({
|
|
133
|
-
publicKey: generated.publicKey
|
|
133
|
+
publicKey: generated.publicKey
|
|
134
134
|
}),
|
|
135
135
|
privateKey: new Ed25519PrivateKey({
|
|
136
|
-
privateKey: generated.privateKey.slice(0, 32)
|
|
137
|
-
})
|
|
136
|
+
privateKey: generated.privateKey.slice(0, 32) // Only the private key part (?)
|
|
137
|
+
})
|
|
138
138
|
});
|
|
139
139
|
|
|
140
140
|
return kp;
|
|
@@ -166,7 +166,7 @@ export class Ed25519Keypair extends Keypair implements Identity {
|
|
|
166
166
|
static fromPeerId(peerId: PeerId | Ed25519PeerId) {
|
|
167
167
|
return new Ed25519Keypair({
|
|
168
168
|
privateKey: Ed25519PrivateKey.fromPeerID(peerId),
|
|
169
|
-
publicKey: Ed25519PublicKey.fromPeerId(peerId)
|
|
169
|
+
publicKey: Ed25519PublicKey.fromPeerId(peerId)
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
172
|
|
|
@@ -176,7 +176,7 @@ export class Ed25519Keypair extends Keypair implements Identity {
|
|
|
176
176
|
this._privateKeyPublicKey ||
|
|
177
177
|
(this._privateKeyPublicKey = concat([
|
|
178
178
|
this.privateKey.privateKey,
|
|
179
|
-
this.publicKey.publicKey
|
|
179
|
+
this.publicKey.publicKey
|
|
180
180
|
]))
|
|
181
181
|
);
|
|
182
182
|
}
|
package/src/encryption.ts
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
field,
|
|
6
6
|
serialize,
|
|
7
7
|
variant,
|
|
8
|
-
vec
|
|
8
|
+
vec
|
|
9
9
|
} from "@dao-xyz/borsh";
|
|
10
10
|
import { equals } from "@peerbit/uint8arrays";
|
|
11
11
|
import { AccessError } from "./errors.js";
|
|
@@ -97,9 +97,9 @@ export class DecryptedThing<T> extends MaybeEncrypted<T> {
|
|
|
97
97
|
receiverPublicKey.publicKey,
|
|
98
98
|
x25519Keypair.secretKey.secretKey
|
|
99
99
|
),
|
|
100
|
-
nonce: kNonce
|
|
100
|
+
nonce: kNonce
|
|
101
101
|
}),
|
|
102
|
-
receiverPublicKey
|
|
102
|
+
receiverPublicKey
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
105
|
|
|
@@ -108,8 +108,8 @@ export class DecryptedThing<T> extends MaybeEncrypted<T> {
|
|
|
108
108
|
nonce,
|
|
109
109
|
envelope: new Envelope({
|
|
110
110
|
senderPublicKey: x25519Keypair.publicKey,
|
|
111
|
-
ks
|
|
112
|
-
})
|
|
111
|
+
ks
|
|
112
|
+
})
|
|
113
113
|
});
|
|
114
114
|
enc._decrypted = this;
|
|
115
115
|
return enc;
|
|
@@ -284,7 +284,7 @@ export class EncryptedThing<T> extends MaybeEncrypted<T> {
|
|
|
284
284
|
if (k._receiverPublicKey.equals(keyResolver.publicKey)) {
|
|
285
285
|
key = {
|
|
286
286
|
index: i,
|
|
287
|
-
keypair: keyResolver
|
|
287
|
+
keypair: keyResolver
|
|
288
288
|
};
|
|
289
289
|
}
|
|
290
290
|
}
|
|
@@ -294,7 +294,7 @@ export class EncryptedThing<T> extends MaybeEncrypted<T> {
|
|
|
294
294
|
if (exported) {
|
|
295
295
|
key = {
|
|
296
296
|
index: i,
|
|
297
|
-
keypair: exported
|
|
297
|
+
keypair: exported
|
|
298
298
|
};
|
|
299
299
|
break;
|
|
300
300
|
}
|
package/src/index.ts
CHANGED
|
@@ -12,3 +12,6 @@ export * from "./random.js";
|
|
|
12
12
|
export * from "./prehash.js";
|
|
13
13
|
export * from "./signer.js";
|
|
14
14
|
export * from "./keychain.js";
|
|
15
|
+
import libsodium from "libsodium-wrappers";
|
|
16
|
+
const ready = libsodium.ready; // TODO can we export ready directly ?
|
|
17
|
+
export { ready };
|
package/src/key.ts
CHANGED
package/src/keychain.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KeyChain as InternalKeychain } from "@libp2p/interface
|
|
1
|
+
import { KeyChain as InternalKeychain } from "@libp2p/interface/keychain";
|
|
2
2
|
import { keysPBM } from "@libp2p/crypto/keys";
|
|
3
3
|
import { identity } from "multiformats/hashes/identity";
|
|
4
4
|
import { base58btc } from "multiformats/bases/base58";
|
|
@@ -6,7 +6,7 @@ import { Cache } from "@peerbit/cache";
|
|
|
6
6
|
import { Ed25519Keypair, Ed25519PublicKey } from "./ed25519.js";
|
|
7
7
|
import { Keypair, PublicSignKey } from "./key.js";
|
|
8
8
|
|
|
9
|
-
import { KeyInfo } from "@libp2p/interface
|
|
9
|
+
import { KeyInfo } from "@libp2p/interface/keychain";
|
|
10
10
|
import { AccessError, X25519Keypair, X25519PublicKey } from "./x25519.js";
|
|
11
11
|
|
|
12
12
|
export type KeypairFromPublicKey<T> = T extends X25519PublicKey
|
|
@@ -43,7 +43,7 @@ export class Libp2pKeychain implements Keychain {
|
|
|
43
43
|
keychainKeyIdFromPublicKey(publicKey: X25519PublicKey) {
|
|
44
44
|
const bytes = keysPBM.PublicKey.encode({
|
|
45
45
|
Type: keysPBM.KeyType.Ed25519,
|
|
46
|
-
Data: publicKey.publicKey
|
|
46
|
+
Data: publicKey.publicKey
|
|
47
47
|
}).subarray();
|
|
48
48
|
|
|
49
49
|
const encoding = identity.digest(bytes);
|
|
@@ -182,7 +182,7 @@ export class Libp2pKeychain implements Keychain {
|
|
|
182
182
|
if (key && key instanceof X25519Keypair) {
|
|
183
183
|
return {
|
|
184
184
|
index: i,
|
|
185
|
-
keypair: key as X25519Keypair
|
|
185
|
+
keypair: key as X25519Keypair
|
|
186
186
|
};
|
|
187
187
|
}
|
|
188
188
|
} catch (error: any) {
|
package/src/libp2p.ts
CHANGED
package/src/prehash.ts
CHANGED
|
@@ -11,7 +11,7 @@ const ethKeccak256Hash = (message: Uint8Array) =>
|
|
|
11
11
|
concat([
|
|
12
12
|
toUtf8Bytes(messagePrefix),
|
|
13
13
|
toUtf8Bytes(String(message.length)),
|
|
14
|
-
message
|
|
14
|
+
message
|
|
15
15
|
])
|
|
16
16
|
)
|
|
17
17
|
.arrayBuffer()
|
|
@@ -21,7 +21,7 @@ export enum PreHash {
|
|
|
21
21
|
NONE = 0,
|
|
22
22
|
SHA_256 = 1,
|
|
23
23
|
//BLAKE3 = 2,
|
|
24
|
-
ETH_KECCAK_256 = 3
|
|
24
|
+
ETH_KECCAK_256 = 3
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export const prehashFn = (
|
package/src/sepc256k1.ts
CHANGED
|
@@ -10,7 +10,7 @@ let _curve: EC;
|
|
|
10
10
|
|
|
11
11
|
import { equals } from "@peerbit/uint8arrays";
|
|
12
12
|
import { toHexString } from "./utils.js";
|
|
13
|
-
import { PeerId } from "@libp2p/interface
|
|
13
|
+
import { PeerId } from "@libp2p/interface/peer-id";
|
|
14
14
|
import { Identity, Signer } from "./signer.js";
|
|
15
15
|
import { coerce } from "./bytes.js";
|
|
16
16
|
import { generateKeyPair, supportedKeys } from "@libp2p/crypto/keys";
|
|
@@ -63,7 +63,7 @@ export class Secp256k1PublicKey extends PublicSignKey {
|
|
|
63
63
|
}
|
|
64
64
|
if (id.type === "secp256k1") {
|
|
65
65
|
return new Secp256k1PublicKey({
|
|
66
|
-
publicKey: id.publicKey.slice(4)
|
|
66
|
+
publicKey: id.publicKey.slice(4) // computeAddress(!.slice(4)),
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -101,7 +101,7 @@ export class Secp256k1PrivateKey extends PrivateSignKey {
|
|
|
101
101
|
}
|
|
102
102
|
if (id.type === "secp256k1") {
|
|
103
103
|
return new Secp256k1PrivateKey({
|
|
104
|
-
privateKey: coerce(id.privateKey!.slice(4))
|
|
104
|
+
privateKey: coerce(id.privateKey!.slice(4))
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -130,11 +130,11 @@ export class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
130
130
|
const generated = await generateKeyPair("secp256k1");
|
|
131
131
|
const kp = new Secp256k1Keypair({
|
|
132
132
|
publicKey: new Secp256k1PublicKey({
|
|
133
|
-
publicKey: generated.public.marshal()
|
|
133
|
+
publicKey: generated.public.marshal()
|
|
134
134
|
}),
|
|
135
135
|
privateKey: new Secp256k1PrivateKey({
|
|
136
|
-
privateKey: generated.marshal()
|
|
137
|
-
})
|
|
136
|
+
privateKey: generated.marshal()
|
|
137
|
+
})
|
|
138
138
|
});
|
|
139
139
|
|
|
140
140
|
return kp;
|
|
@@ -157,7 +157,7 @@ export class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
157
157
|
return new SignatureWithKey({
|
|
158
158
|
prehash,
|
|
159
159
|
publicKey: this.publicKey,
|
|
160
|
-
signature: signatureBytes
|
|
160
|
+
signature: signatureBytes
|
|
161
161
|
});
|
|
162
162
|
}
|
|
163
163
|
|
|
@@ -174,7 +174,7 @@ export class Secp256k1Keypair extends Keypair implements Identity {
|
|
|
174
174
|
static fromPeerId(peerId: PeerId) {
|
|
175
175
|
return new Secp256k1Keypair({
|
|
176
176
|
privateKey: Secp256k1PrivateKey.from(peerId),
|
|
177
|
-
publicKey: Secp256k1PublicKey.from(peerId)
|
|
177
|
+
publicKey: Secp256k1PublicKey.from(peerId)
|
|
178
178
|
});
|
|
179
179
|
}
|
|
180
180
|
|
package/src/signature.ts
CHANGED
package/src/x25519.ts
CHANGED
|
@@ -5,15 +5,15 @@ import sodium from "libsodium-wrappers";
|
|
|
5
5
|
import {
|
|
6
6
|
Keypair,
|
|
7
7
|
PrivateEncryptionKey,
|
|
8
|
-
PublicKeyEncryptionKey
|
|
8
|
+
PublicKeyEncryptionKey
|
|
9
9
|
} from "./key.js";
|
|
10
10
|
import {
|
|
11
11
|
Ed25519Keypair,
|
|
12
12
|
Ed25519PublicKey,
|
|
13
|
-
Ed25519PrivateKey
|
|
13
|
+
Ed25519PrivateKey
|
|
14
14
|
} from "./ed25519.js";
|
|
15
15
|
import { toHexString } from "./utils.js";
|
|
16
|
-
import { PeerId } from "@libp2p/interface
|
|
16
|
+
import { PeerId } from "@libp2p/interface/peer-id";
|
|
17
17
|
@variant(0)
|
|
18
18
|
export class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
19
19
|
@field({ type: fixedArray("u8", 32) })
|
|
@@ -44,7 +44,7 @@ export class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
|
44
44
|
return new X25519PublicKey({
|
|
45
45
|
publicKey: sodium.crypto_sign_ed25519_pk_to_curve25519(
|
|
46
46
|
ed25119PublicKey.publicKey
|
|
47
|
-
)
|
|
47
|
+
)
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -57,7 +57,7 @@ export class X25519PublicKey extends PublicKeyEncryptionKey {
|
|
|
57
57
|
static async create(): Promise<X25519PublicKey> {
|
|
58
58
|
await sodium.ready;
|
|
59
59
|
return new X25519PublicKey({
|
|
60
|
-
publicKey: sodium.crypto_box_keypair().publicKey
|
|
60
|
+
publicKey: sodium.crypto_box_keypair().publicKey
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -89,7 +89,7 @@ export class X25519SecretKey extends PrivateEncryptionKey {
|
|
|
89
89
|
|
|
90
90
|
async publicKey(): Promise<X25519PublicKey> {
|
|
91
91
|
return new X25519PublicKey({
|
|
92
|
-
publicKey: sodium.crypto_scalarmult_base(this.secretKey)
|
|
92
|
+
publicKey: sodium.crypto_scalarmult_base(this.secretKey)
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
static async from(ed25119Keypair: Ed25519Keypair): Promise<X25519SecretKey> {
|
|
@@ -97,14 +97,14 @@ export class X25519SecretKey extends PrivateEncryptionKey {
|
|
|
97
97
|
return new X25519SecretKey({
|
|
98
98
|
secretKey: sodium.crypto_sign_ed25519_sk_to_curve25519(
|
|
99
99
|
ed25119Keypair.privateKeyPublicKey
|
|
100
|
-
)
|
|
100
|
+
)
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
static async create(): Promise<X25519SecretKey> {
|
|
105
105
|
await sodium.ready;
|
|
106
106
|
return new X25519SecretKey({
|
|
107
|
-
secretKey: sodium.crypto_box_keypair().privateKey
|
|
107
|
+
secretKey: sodium.crypto_box_keypair().privateKey
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
}
|
|
@@ -131,11 +131,11 @@ export class X25519Keypair extends Keypair {
|
|
|
131
131
|
const generated = sodium.crypto_box_keypair();
|
|
132
132
|
const kp = new X25519Keypair({
|
|
133
133
|
publicKey: new X25519PublicKey({
|
|
134
|
-
publicKey: generated.publicKey
|
|
134
|
+
publicKey: generated.publicKey
|
|
135
135
|
}),
|
|
136
136
|
secretKey: new X25519SecretKey({
|
|
137
|
-
secretKey: generated.privateKey
|
|
138
|
-
})
|
|
137
|
+
secretKey: generated.privateKey
|
|
138
|
+
})
|
|
139
139
|
});
|
|
140
140
|
|
|
141
141
|
return kp;
|
|
@@ -144,7 +144,7 @@ export class X25519Keypair extends Keypair {
|
|
|
144
144
|
static async from(ed25119Keypair: Ed25519Keypair): Promise<X25519Keypair> {
|
|
145
145
|
const kp = new X25519Keypair({
|
|
146
146
|
publicKey: await X25519PublicKey.from(ed25119Keypair.publicKey),
|
|
147
|
-
secretKey: await X25519SecretKey.from(ed25119Keypair)
|
|
147
|
+
secretKey: await X25519SecretKey.from(ed25119Keypair)
|
|
148
148
|
});
|
|
149
149
|
return kp;
|
|
150
150
|
}
|