@libp2p/crypto 0.22.13 → 1.0.1
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/README.md +51 -48
- package/dist/src/keys/ed25519-class.js +2 -2
- package/dist/src/keys/ed25519-class.js.map +1 -1
- package/dist/src/keys/index.d.ts +1 -1
- package/dist/src/keys/index.d.ts.map +1 -1
- package/dist/src/keys/jwk2pem.js +1 -1
- package/dist/src/keys/jwk2pem.js.map +1 -1
- package/dist/src/keys/keys.d.ts +5 -4
- package/dist/src/keys/keys.d.ts.map +1 -1
- package/dist/src/keys/keys.js.map +1 -1
- package/dist/src/keys/rsa-class.js +2 -2
- package/dist/src/keys/rsa-class.js.map +1 -1
- package/dist/src/keys/secp256k1-class.js +2 -2
- package/dist/src/keys/secp256k1-class.js.map +1 -1
- package/package.json +17 -8
- package/src/keys/ed25519-class.ts +2 -2
- package/src/keys/index.ts +1 -1
- package/src/keys/jwk2pem.ts +1 -1
- package/src/keys/keys.ts +5 -4
- package/src/keys/rsa-class.ts +2 -2
- package/src/keys/secp256k1-class.ts +2 -2
package/README.md
CHANGED
|
@@ -1,15 +1,48 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @libp2p/crypto <!-- omit in toc -->
|
|
2
|
+
|
|
3
|
+
[](http://libp2p.io/)
|
|
4
|
+
[](http://webchat.freenode.net/?channels=%23libp2p)
|
|
5
|
+
[](https://discuss.libp2p.io)
|
|
6
|
+
[](https://codecov.io/gh/libp2p/js-libp2p-crypto)
|
|
7
|
+
[](https://github.com/libp2p/js-libp2p-crypto/actions/workflows/js-test-and-release.yml)
|
|
8
|
+
|
|
9
|
+
> Crypto primitives for libp2p
|
|
10
|
+
|
|
11
|
+
## Table of contents <!-- omit in toc -->
|
|
12
|
+
|
|
13
|
+
- [Install](#install)
|
|
14
|
+
- [Lead Maintainer](#lead-maintainer)
|
|
15
|
+
- [Usage](#usage)
|
|
16
|
+
- [Web Crypto API](#web-crypto-api)
|
|
17
|
+
- [API](#api)
|
|
18
|
+
- [`crypto.aes`](#cryptoaes)
|
|
19
|
+
- [`crypto.aes.create(key, iv)`](#cryptoaescreatekey-iv)
|
|
20
|
+
- [`decrypt(data)`](#decryptdata)
|
|
21
|
+
- [`encrypt(data)`](#encryptdata)
|
|
22
|
+
- [`crypto.hmac`](#cryptohmac)
|
|
23
|
+
- [`crypto.hmac.create(hash, secret)`](#cryptohmaccreatehash-secret)
|
|
24
|
+
- [`digest(data)`](#digestdata)
|
|
25
|
+
- [`crypto.keys`](#cryptokeys)
|
|
26
|
+
- [`crypto.keys.generateKeyPair(type, bits)`](#cryptokeysgeneratekeypairtype-bits)
|
|
27
|
+
- [`crypto.keys.generateEphemeralKeyPair(curve)`](#cryptokeysgenerateephemeralkeypaircurve)
|
|
28
|
+
- [`crypto.keys.keyStretcher(cipherType, hashType, secret)`](#cryptokeyskeystretcherciphertype-hashtype-secret)
|
|
29
|
+
- [`crypto.keys.marshalPublicKey(key, [type])`](#cryptokeysmarshalpublickeykey-type)
|
|
30
|
+
- [`crypto.keys.unmarshalPublicKey(buf)`](#cryptokeysunmarshalpublickeybuf)
|
|
31
|
+
- [`crypto.keys.marshalPrivateKey(key, [type])`](#cryptokeysmarshalprivatekeykey-type)
|
|
32
|
+
- [`crypto.keys.unmarshalPrivateKey(buf)`](#cryptokeysunmarshalprivatekeybuf)
|
|
33
|
+
- [`crypto.keys.import(encryptedKey, password)`](#cryptokeysimportencryptedkey-password)
|
|
34
|
+
- [`privateKey.export(password, format)`](#privatekeyexportpassword-format)
|
|
35
|
+
- [`crypto.randomBytes(number)`](#cryptorandombytesnumber)
|
|
36
|
+
- [`crypto.pbkdf2(password, salt, iterations, keySize, hash)`](#cryptopbkdf2password-salt-iterations-keysize-hash)
|
|
37
|
+
- [Contribute](#contribute)
|
|
38
|
+
- [License](#license)
|
|
39
|
+
- [Contribution](#contribution)
|
|
2
40
|
|
|
3
|
-
|
|
4
|
-
[](http://libp2p.io/)
|
|
5
|
-
[](http://webchat.freenode.net/?channels=%23libp2p)
|
|
6
|
-
[](https://discuss.libp2p.io)
|
|
7
|
-
[](https://codecov.io/gh/libp2p/js-libp2p-crypto)
|
|
8
|
-
[](https://travis-ci.com/libp2p/js-libp2p-crypto)
|
|
9
|
-
[](https://david-dm.org/libp2p/js-libp2p-crypto)
|
|
10
|
-
[](https://github.com/feross/standard)
|
|
41
|
+
## Install
|
|
11
42
|
|
|
12
|
-
|
|
43
|
+
```console
|
|
44
|
+
$ npm i @libp2p/crypto
|
|
45
|
+
```
|
|
13
46
|
|
|
14
47
|
This repo contains the JavaScript implementation of the crypto primitives needed for libp2p. This is based on this [go implementation](https://github.com/libp2p/go-libp2p-crypto).
|
|
15
48
|
|
|
@@ -17,43 +50,6 @@ This repo contains the JavaScript implementation of the crypto primitives needed
|
|
|
17
50
|
|
|
18
51
|
[Jacob Heun](https://github.com/jacobheun/)
|
|
19
52
|
|
|
20
|
-
## Table of Contents
|
|
21
|
-
|
|
22
|
-
- [js-libp2p-crypto](#js-libp2p-crypto)
|
|
23
|
-
- [Lead Maintainer](#lead-maintainer)
|
|
24
|
-
- [Table of Contents](#table-of-contents)
|
|
25
|
-
- [Install](#install)
|
|
26
|
-
- [Usage](#usage)
|
|
27
|
-
- [Web Crypto API](#web-crypto-api)
|
|
28
|
-
- [API](#api)
|
|
29
|
-
- [`crypto.aes`](#cryptoaes)
|
|
30
|
-
- [`crypto.aes.create(key, iv)`](#cryptoaescreatekey-iv)
|
|
31
|
-
- [`decrypt(data)`](#decryptdata)
|
|
32
|
-
- [`encrypt(data)`](#encryptdata)
|
|
33
|
-
- [`crypto.hmac`](#cryptohmac)
|
|
34
|
-
- [`crypto.hmac.create(hash, secret)`](#cryptohmaccreatehash-secret)
|
|
35
|
-
- [`digest(data)`](#digestdata)
|
|
36
|
-
- [`crypto.keys`](#cryptokeys)
|
|
37
|
-
- [`crypto.keys.generateKeyPair(type, bits)`](#cryptokeysgeneratekeypairtype-bits)
|
|
38
|
-
- [`crypto.keys.generateEphemeralKeyPair(curve)`](#cryptokeysgenerateephemeralkeypaircurve)
|
|
39
|
-
- [`crypto.keys.keyStretcher(cipherType, hashType, secret)`](#cryptokeyskeystretcherciphertype-hashtype-secret)
|
|
40
|
-
- [`crypto.keys.marshalPublicKey(key, [type])`](#cryptokeysmarshalpublickeykey-type)
|
|
41
|
-
- [`crypto.keys.unmarshalPublicKey(buf)`](#cryptokeysunmarshalpublickeybuf)
|
|
42
|
-
- [`crypto.keys.marshalPrivateKey(key, [type])`](#cryptokeysmarshalprivatekeykey-type)
|
|
43
|
-
- [`crypto.keys.unmarshalPrivateKey(buf)`](#cryptokeysunmarshalprivatekeybuf)
|
|
44
|
-
- [`crypto.keys.import(encryptedKey, password)`](#cryptokeysimportencryptedkey-password)
|
|
45
|
-
- [`privateKey.export(password, format)`](#privatekeyexportpassword-format)
|
|
46
|
-
- [`crypto.randomBytes(number)`](#cryptorandombytesnumber)
|
|
47
|
-
- [`crypto.pbkdf2(password, salt, iterations, keySize, hash)`](#cryptopbkdf2password-salt-iterations-keysize-hash)
|
|
48
|
-
- [Contribute](#contribute)
|
|
49
|
-
- [License](#license)
|
|
50
|
-
|
|
51
|
-
## Install
|
|
52
|
-
|
|
53
|
-
```sh
|
|
54
|
-
npm install --save libp2p-crypto
|
|
55
|
-
```
|
|
56
|
-
|
|
57
53
|
## Usage
|
|
58
54
|
|
|
59
55
|
```js
|
|
@@ -311,4 +307,11 @@ This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/c
|
|
|
311
307
|
|
|
312
308
|
## License
|
|
313
309
|
|
|
314
|
-
|
|
310
|
+
Licensed under either of
|
|
311
|
+
|
|
312
|
+
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
|
|
313
|
+
- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
|
|
314
|
+
|
|
315
|
+
## Contribution
|
|
316
|
+
|
|
317
|
+
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
|
|
@@ -20,7 +20,7 @@ export class Ed25519PublicKey {
|
|
|
20
20
|
return pbm.PublicKey.encode({
|
|
21
21
|
Type: pbm.KeyType.Ed25519,
|
|
22
22
|
Data: this.marshal()
|
|
23
|
-
});
|
|
23
|
+
}).subarray();
|
|
24
24
|
}
|
|
25
25
|
equals(key) {
|
|
26
26
|
return uint8ArrayEquals(this.bytes, key.bytes);
|
|
@@ -50,7 +50,7 @@ export class Ed25519PrivateKey {
|
|
|
50
50
|
return pbm.PrivateKey.encode({
|
|
51
51
|
Type: pbm.KeyType.Ed25519,
|
|
52
52
|
Data: this.marshal()
|
|
53
|
-
});
|
|
53
|
+
}).subarray();
|
|
54
54
|
}
|
|
55
55
|
equals(key) {
|
|
56
56
|
return uint8ArrayEquals(this.bytes, key.bytes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519-class.js","sourceRoot":"","sources":["../../../src/keys/ed25519-class.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,OAAO,gBAAgB;IAG3B,YAAa,GAAe;QAC1B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAgB,EAAE,GAAe;QAC7C,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACzD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;YACzB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ed25519-class.js","sourceRoot":"","sources":["../../../src/keys/ed25519-class.ts"],"names":[],"mappings":"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"}
|
package/dist/src/keys/index.d.ts
CHANGED
|
@@ -6,7 +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/
|
|
9
|
+
import type { PrivateKey, PublicKey } from '@libp2p/interface-keys';
|
|
10
10
|
export { keyStretcher };
|
|
11
11
|
export { generateEphemeralKeyPair };
|
|
12
12
|
export { keysPBM };
|
|
@@ -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,
|
|
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,oBAAY,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/jwk2pem.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'node-forge/lib/rsa.js';
|
|
2
2
|
// @ts-expect-error types are missing
|
|
3
3
|
import forge from 'node-forge/lib/forge.js';
|
|
4
|
-
import { base64urlToBigInteger } from '../util';
|
|
4
|
+
import { base64urlToBigInteger } from '../util.js';
|
|
5
5
|
function convert(key, types) {
|
|
6
6
|
return types.map(t => base64urlToBigInteger(key[t]));
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwk2pem.js","sourceRoot":"","sources":["../../../src/keys/jwk2pem.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA;AAC9B,qCAAqC;AACrC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"jwk2pem.js","sourceRoot":"","sources":["../../../src/keys/jwk2pem.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA;AAC9B,qCAAqC;AACrC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElD,SAAS,OAAO,CAAE,GAAQ,EAAE,KAAe;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAE,GAAe;IACvC,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AACjG,CAAC;AAED,MAAM,UAAU,OAAO,CAAE,GAAe;IACtC,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;AAC/D,CAAC"}
|
package/dist/src/keys/keys.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Codec } from 'protons-runtime';
|
|
2
|
+
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
2
3
|
export declare enum KeyType {
|
|
3
4
|
RSA = "RSA",
|
|
4
5
|
Ed25519 = "Ed25519",
|
|
@@ -13,8 +14,8 @@ export interface PublicKey {
|
|
|
13
14
|
}
|
|
14
15
|
export declare namespace PublicKey {
|
|
15
16
|
const codec: () => Codec<PublicKey>;
|
|
16
|
-
const encode: (obj: PublicKey) =>
|
|
17
|
-
const decode: (buf: Uint8Array) => PublicKey;
|
|
17
|
+
const encode: (obj: PublicKey) => Uint8ArrayList;
|
|
18
|
+
const decode: (buf: Uint8Array | Uint8ArrayList) => PublicKey;
|
|
18
19
|
}
|
|
19
20
|
export interface PrivateKey {
|
|
20
21
|
Type: KeyType;
|
|
@@ -22,7 +23,7 @@ export interface PrivateKey {
|
|
|
22
23
|
}
|
|
23
24
|
export declare namespace PrivateKey {
|
|
24
25
|
const codec: () => Codec<PrivateKey>;
|
|
25
|
-
const encode: (obj: PrivateKey) =>
|
|
26
|
-
const decode: (buf: Uint8Array) => PrivateKey;
|
|
26
|
+
const encode: (obj: PrivateKey) => Uint8ArrayList;
|
|
27
|
+
const decode: (buf: Uint8Array | Uint8ArrayList) => PrivateKey;
|
|
27
28
|
}
|
|
28
29
|
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,oBAAY,OAAO;IACjB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAQD,yBAAiB,OAAO,CAAC;IAChB,MAAM,KAAK,6BAEjB,CAAA;CACF;AACD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,SAAS,CAAC;IAClB,MAAM,KAAK,QAAO,MAAM,SAAS,CAKvC,CAAA;IAEM,MAAM,MAAM,QAAS,SAAS,KAAG,cAEvC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,SAEzD,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,yBAAiB,UAAU,CAAC;IACnB,MAAM,KAAK,QAAO,MAAM,UAAU,CAKxC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,KAAG,cAExC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,UAEzD,CAAA;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;AAEpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/keys/keys.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;AAEpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAI3F,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,CAAiB,eAAe,CAAC,CAAA;IACrD,CAAC,CAAA;AACH,CAAC,EAJgB,OAAO,KAAP,OAAO,QAIvB;AAMD,MAAM,KAAW,SAAS,CAezB;AAfD,WAAiB,SAAS;IACX,eAAK,GAAG,GAAqB,EAAE;QAC1C,OAAO,OAAO,CAAY;YACxB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YAC3C,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEY,gBAAM,GAAG,CAAC,GAAc,EAAkB,EAAE;QACvD,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,EAfgB,SAAS,KAAT,SAAS,QAezB;AAOD,MAAM,KAAW,UAAU,CAe1B;AAfD,WAAiB,UAAU;IACZ,gBAAK,GAAG,GAAsB,EAAE;QAC3C,OAAO,OAAO,CAAa;YACzB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YAC3C,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEY,iBAAM,GAAG,CAAC,GAAe,EAAkB,EAAE;QACxD,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,EAfgB,UAAU,KAAV,UAAU,QAe1B"}
|
|
@@ -22,7 +22,7 @@ export class RsaPublicKey {
|
|
|
22
22
|
return pbm.PublicKey.encode({
|
|
23
23
|
Type: pbm.KeyType.RSA,
|
|
24
24
|
Data: this.marshal()
|
|
25
|
-
});
|
|
25
|
+
}).subarray();
|
|
26
26
|
}
|
|
27
27
|
encrypt(bytes) {
|
|
28
28
|
return crypto.encrypt(this._key, bytes);
|
|
@@ -62,7 +62,7 @@ export class RsaPrivateKey {
|
|
|
62
62
|
return pbm.PrivateKey.encode({
|
|
63
63
|
Type: pbm.KeyType.RSA,
|
|
64
64
|
Data: this.marshal()
|
|
65
|
-
});
|
|
65
|
+
}).subarray();
|
|
66
66
|
}
|
|
67
67
|
equals(key) {
|
|
68
68
|
return uint8ArrayEquals(this.bytes, key.bytes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsa-class.js","sourceRoot":"","sources":["../../../src/keys/rsa-class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,0BAA0B,CAAA;AACjC,qCAAqC;AACrC,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,OAAO,YAAY;IAGvB,YAAa,GAAe;QAC1B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAgB,EAAE,GAAe;QAC7C,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACzD,CAAC;IAED,OAAO;QACL,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG;YACrB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"rsa-class.js","sourceRoot":"","sources":["../../../src/keys/rsa-class.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export class Secp256k1PublicKey {
|
|
|
20
20
|
return keysProtobuf.PublicKey.encode({
|
|
21
21
|
Type: keysProtobuf.KeyType.Secp256k1,
|
|
22
22
|
Data: this.marshal()
|
|
23
|
-
});
|
|
23
|
+
}).subarray();
|
|
24
24
|
}
|
|
25
25
|
equals(key) {
|
|
26
26
|
return uint8ArrayEquals(this.bytes, key.bytes);
|
|
@@ -50,7 +50,7 @@ export class Secp256k1PrivateKey {
|
|
|
50
50
|
return keysProtobuf.PrivateKey.encode({
|
|
51
51
|
Type: keysProtobuf.KeyType.Secp256k1,
|
|
52
52
|
Data: this.marshal()
|
|
53
|
-
});
|
|
53
|
+
}).subarray();
|
|
54
54
|
}
|
|
55
55
|
equals(key) {
|
|
56
56
|
return uint8ArrayEquals(this.bytes, key.bytes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256k1-class.js","sourceRoot":"","sources":["../../../src/keys/secp256k1-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,YAAY,MAAM,WAAW,CAAA;AAEzC,MAAM,OAAO,kBAAkB;IAG7B,YAAa,GAAe;QAC1B,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAgB,EAAE,GAAe;QAC7C,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACzD,CAAC;IAED,OAAO;QACL,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,SAAS;YACpC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"secp256k1-class.js","sourceRoot":"","sources":["../../../src/keys/secp256k1-class.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.
|
|
3
|
+
"version": "1.0.1",
|
|
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",
|
|
@@ -48,18 +48,23 @@
|
|
|
48
48
|
],
|
|
49
49
|
"exports": {
|
|
50
50
|
".": {
|
|
51
|
+
"types": "./src/index.d.ts",
|
|
51
52
|
"import": "./dist/src/index.js"
|
|
52
53
|
},
|
|
53
54
|
"./aes": {
|
|
55
|
+
"types": "./dist/src/aes/index.d.ts",
|
|
54
56
|
"import": "./dist/src/aes/index.js"
|
|
55
57
|
},
|
|
56
58
|
"./ciphers": {
|
|
59
|
+
"types": "./dist/src/ciphers/index.d.ts",
|
|
57
60
|
"import": "./dist/src/ciphers/index.js"
|
|
58
61
|
},
|
|
59
62
|
"./hmac": {
|
|
63
|
+
"types": "./dist/src/hmac/index.d.ts",
|
|
60
64
|
"import": "./dist/src/hmac/index.js"
|
|
61
65
|
},
|
|
62
66
|
"./keys": {
|
|
67
|
+
"types": "./dist/src/keys/index.d.ts",
|
|
63
68
|
"import": "./dist/src/keys/index.js"
|
|
64
69
|
}
|
|
65
70
|
},
|
|
@@ -99,15 +104,15 @@
|
|
|
99
104
|
"release": "patch"
|
|
100
105
|
},
|
|
101
106
|
{
|
|
102
|
-
"type": "
|
|
107
|
+
"type": "docs",
|
|
103
108
|
"release": "patch"
|
|
104
109
|
},
|
|
105
110
|
{
|
|
106
|
-
"type": "
|
|
111
|
+
"type": "test",
|
|
107
112
|
"release": "patch"
|
|
108
113
|
},
|
|
109
114
|
{
|
|
110
|
-
"type": "
|
|
115
|
+
"type": "deps",
|
|
111
116
|
"release": "patch"
|
|
112
117
|
},
|
|
113
118
|
{
|
|
@@ -137,7 +142,11 @@
|
|
|
137
142
|
},
|
|
138
143
|
{
|
|
139
144
|
"type": "docs",
|
|
140
|
-
"section": "
|
|
145
|
+
"section": "Documentation"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"type": "deps",
|
|
149
|
+
"section": "Dependencies"
|
|
141
150
|
},
|
|
142
151
|
{
|
|
143
152
|
"type": "test",
|
|
@@ -169,21 +178,21 @@
|
|
|
169
178
|
"generate": "protons ./src/keys/keys.proto"
|
|
170
179
|
},
|
|
171
180
|
"dependencies": {
|
|
172
|
-
"@libp2p/
|
|
181
|
+
"@libp2p/interface-keys": "^1.0.2",
|
|
173
182
|
"@noble/ed25519": "^1.6.0",
|
|
174
183
|
"@noble/secp256k1": "^1.5.4",
|
|
175
184
|
"err-code": "^3.0.1",
|
|
176
185
|
"iso-random-stream": "^2.0.0",
|
|
177
186
|
"multiformats": "^9.4.5",
|
|
178
187
|
"node-forge": "^1.1.0",
|
|
179
|
-
"protons-runtime": "^
|
|
188
|
+
"protons-runtime": "^2.0.2",
|
|
180
189
|
"uint8arrays": "^3.0.0"
|
|
181
190
|
},
|
|
182
191
|
"devDependencies": {
|
|
183
192
|
"@types/mocha": "^9.0.0",
|
|
184
193
|
"aegir": "^37.0.12",
|
|
185
194
|
"benchmark": "^2.1.4",
|
|
186
|
-
"protons": "^
|
|
195
|
+
"protons": "^4.0.1",
|
|
187
196
|
"sinon": "^14.0.0",
|
|
188
197
|
"util": "^0.12.3",
|
|
189
198
|
"wherearewe": "^1.0.0"
|
|
@@ -26,7 +26,7 @@ export class Ed25519PublicKey {
|
|
|
26
26
|
return pbm.PublicKey.encode({
|
|
27
27
|
Type: pbm.KeyType.Ed25519,
|
|
28
28
|
Data: this.marshal()
|
|
29
|
-
})
|
|
29
|
+
}).subarray()
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
equals (key: any) {
|
|
@@ -67,7 +67,7 @@ export class Ed25519PrivateKey {
|
|
|
67
67
|
return pbm.PrivateKey.encode({
|
|
68
68
|
Type: pbm.KeyType.Ed25519,
|
|
69
69
|
Data: this.marshal()
|
|
70
|
-
})
|
|
70
|
+
}).subarray()
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
equals (key: any) {
|
package/src/keys/index.ts
CHANGED
|
@@ -11,7 +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/
|
|
14
|
+
import type { PrivateKey, PublicKey } from '@libp2p/interface-keys'
|
|
15
15
|
|
|
16
16
|
export { keyStretcher }
|
|
17
17
|
export { generateEphemeralKeyPair }
|
package/src/keys/jwk2pem.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'node-forge/lib/rsa.js'
|
|
2
2
|
// @ts-expect-error types are missing
|
|
3
3
|
import forge from 'node-forge/lib/forge.js'
|
|
4
|
-
import { base64urlToBigInteger } from '../util'
|
|
4
|
+
import { base64urlToBigInteger } from '../util.js'
|
|
5
5
|
|
|
6
6
|
function convert (key: any, types: string[]) {
|
|
7
7
|
return types.map(t => base64urlToBigInteger(key[t]))
|
package/src/keys/keys.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { enumeration, encodeMessage, decodeMessage, message, bytes } from 'protons-runtime'
|
|
5
5
|
import type { Codec } from 'protons-runtime'
|
|
6
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
6
7
|
|
|
7
8
|
export enum KeyType {
|
|
8
9
|
RSA = 'RSA',
|
|
@@ -34,11 +35,11 @@ export namespace PublicKey {
|
|
|
34
35
|
})
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
export const encode = (obj: PublicKey):
|
|
38
|
+
export const encode = (obj: PublicKey): Uint8ArrayList => {
|
|
38
39
|
return encodeMessage(obj, PublicKey.codec())
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
export const decode = (buf: Uint8Array): PublicKey => {
|
|
42
|
+
export const decode = (buf: Uint8Array | Uint8ArrayList): PublicKey => {
|
|
42
43
|
return decodeMessage(buf, PublicKey.codec())
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -56,11 +57,11 @@ export namespace PrivateKey {
|
|
|
56
57
|
})
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
export const encode = (obj: PrivateKey):
|
|
60
|
+
export const encode = (obj: PrivateKey): Uint8ArrayList => {
|
|
60
61
|
return encodeMessage(obj, PrivateKey.codec())
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
export const decode = (buf: Uint8Array): PrivateKey => {
|
|
64
|
+
export const decode = (buf: Uint8Array | Uint8ArrayList): PrivateKey => {
|
|
64
65
|
return decodeMessage(buf, PrivateKey.codec())
|
|
65
66
|
}
|
|
66
67
|
}
|
package/src/keys/rsa-class.ts
CHANGED
|
@@ -29,7 +29,7 @@ export class RsaPublicKey {
|
|
|
29
29
|
return pbm.PublicKey.encode({
|
|
30
30
|
Type: pbm.KeyType.RSA,
|
|
31
31
|
Data: this.marshal()
|
|
32
|
-
})
|
|
32
|
+
}).subarray()
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
encrypt (bytes: Uint8Array) {
|
|
@@ -84,7 +84,7 @@ export class RsaPrivateKey {
|
|
|
84
84
|
return pbm.PrivateKey.encode({
|
|
85
85
|
Type: pbm.KeyType.RSA,
|
|
86
86
|
Data: this.marshal()
|
|
87
|
-
})
|
|
87
|
+
}).subarray()
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
equals (key: any) {
|
|
@@ -26,7 +26,7 @@ export class Secp256k1PublicKey {
|
|
|
26
26
|
return keysProtobuf.PublicKey.encode({
|
|
27
27
|
Type: keysProtobuf.KeyType.Secp256k1,
|
|
28
28
|
Data: this.marshal()
|
|
29
|
-
})
|
|
29
|
+
}).subarray()
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
equals (key: any) {
|
|
@@ -67,7 +67,7 @@ export class Secp256k1PrivateKey {
|
|
|
67
67
|
return keysProtobuf.PrivateKey.encode({
|
|
68
68
|
Type: keysProtobuf.KeyType.Secp256k1,
|
|
69
69
|
Data: this.marshal()
|
|
70
|
-
})
|
|
70
|
+
}).subarray()
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
equals (key: any) {
|