@libp2p/crypto 5.1.15 → 5.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -4
- package/dist/index.min.js.map +4 -4
- package/dist/src/ciphers/aes-gcm.browser.d.ts +1 -1
- package/dist/src/ciphers/aes-gcm.d.ts +1 -1
- package/dist/src/ciphers/index.d.ts +1 -1
- package/dist/src/ciphers/index.js +1 -1
- package/dist/src/hmac/index.browser.js +1 -1
- package/dist/src/hmac/index.js +1 -1
- package/dist/src/index.d.ts +4 -4
- package/dist/src/index.js +4 -4
- package/dist/src/keys/ecdh/index.browser.d.ts +1 -1
- package/dist/src/keys/ecdsa/ecdsa.js +2 -2
- package/dist/src/keys/ecdsa/ecdsa.js.map +1 -1
- package/dist/src/keys/ecdsa/utils.js +2 -2
- package/dist/src/keys/ed25519/ed25519.js +2 -2
- package/dist/src/keys/ed25519/ed25519.js.map +1 -1
- package/dist/src/keys/ed25519/utils.js +2 -2
- package/dist/src/keys/ephemeral-keys.d.ts +1 -1
- package/dist/src/keys/ephemeral-keys.js +1 -1
- package/dist/src/keys/index.d.ts +5 -5
- package/dist/src/keys/index.js +13 -13
- package/dist/src/keys/key-stretcher.d.ts +1 -1
- package/dist/src/keys/rsa/index.browser.d.ts +1 -1
- package/dist/src/keys/rsa/index.browser.js +1 -1
- package/dist/src/keys/rsa/index.d.ts +1 -1
- package/dist/src/keys/rsa/index.js +1 -1
- package/dist/src/keys/rsa/rsa.js +1 -1
- package/dist/src/keys/rsa/utils.js +3 -3
- package/dist/src/keys/rsa/utils.js.map +1 -1
- package/dist/src/keys/secp256k1/secp256k1.js +2 -2
- package/dist/src/keys/secp256k1/secp256k1.js.map +1 -1
- package/dist/src/keys/secp256k1/utils.js +1 -1
- package/dist/src/webcrypto/index.d.ts +1 -1
- package/dist/src/webcrypto/index.js +1 -1
- package/package.json +12 -7
- package/src/ciphers/aes-gcm.browser.ts +1 -1
- package/src/ciphers/aes-gcm.ts +1 -1
- package/src/ciphers/index.ts +1 -1
- package/src/hmac/index.browser.ts +1 -1
- package/src/hmac/index.ts +1 -1
- package/src/index.ts +4 -4
- package/src/keys/ecdh/index.browser.ts +1 -1
- package/src/keys/ecdsa/ecdsa.ts +2 -2
- package/src/keys/ecdsa/utils.ts +2 -2
- package/src/keys/ed25519/ed25519.ts +2 -2
- package/src/keys/ed25519/utils.ts +2 -2
- package/src/keys/ephemeral-keys.ts +1 -1
- package/src/keys/index.ts +16 -16
- package/src/keys/key-stretcher.ts +1 -1
- package/src/keys/rsa/index.browser.ts +1 -1
- package/src/keys/rsa/index.ts +1 -1
- package/src/keys/rsa/rsa.ts +1 -1
- package/src/keys/rsa/utils.ts +3 -3
- package/src/keys/secp256k1/secp256k1.ts +2 -2
- package/src/keys/secp256k1/utils.ts +1 -1
- package/src/webcrypto/index.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateAESCipherOptions, AESCipher } from './interface.
|
|
1
|
+
import type { CreateAESCipherOptions, AESCipher } from './interface.ts';
|
|
2
2
|
export type { AESCipher, CreateAESCipherOptions };
|
|
3
3
|
export declare function create(opts?: CreateAESCipherOptions): AESCipher;
|
|
4
4
|
//# sourceMappingURL=aes-gcm.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * as AES_GCM from './aes-gcm.
|
|
1
|
+
export * as AES_GCM from './aes-gcm.ts';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * as AES_GCM from
|
|
1
|
+
export * as AES_GCM from "./aes-gcm.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/src/hmac/index.js
CHANGED
package/dist/src/index.d.ts
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
*
|
|
8
8
|
* To enable the Web Crypto API and allow `@libp2p/crypto` to work fully, please serve your page over HTTPS.
|
|
9
9
|
*/
|
|
10
|
-
import * as hmac from './hmac/index.
|
|
11
|
-
import * as keys from './keys/index.
|
|
12
|
-
import pbkdf2 from './pbkdf2.
|
|
13
|
-
import randomBytes from './random-bytes.
|
|
10
|
+
import * as hmac from './hmac/index.ts';
|
|
11
|
+
import * as keys from './keys/index.ts';
|
|
12
|
+
import pbkdf2 from './pbkdf2.ts';
|
|
13
|
+
import randomBytes from './random-bytes.ts';
|
|
14
14
|
export { hmac };
|
|
15
15
|
export { keys };
|
|
16
16
|
export { randomBytes };
|
package/dist/src/index.js
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
*
|
|
8
8
|
* To enable the Web Crypto API and allow `@libp2p/crypto` to work fully, please serve your page over HTTPS.
|
|
9
9
|
*/
|
|
10
|
-
import * as hmac from
|
|
11
|
-
import * as keys from
|
|
12
|
-
import pbkdf2 from
|
|
13
|
-
import randomBytes from
|
|
10
|
+
import * as hmac from "./hmac/index.js";
|
|
11
|
+
import * as keys from "./keys/index.js";
|
|
12
|
+
import pbkdf2 from "./pbkdf2.js";
|
|
13
|
+
import randomBytes from "./random-bytes.js";
|
|
14
14
|
export { hmac };
|
|
15
15
|
export { keys };
|
|
16
16
|
export { randomBytes };
|
|
@@ -3,8 +3,8 @@ import { CID } from 'multiformats/cid';
|
|
|
3
3
|
import { identity } from 'multiformats/hashes/identity';
|
|
4
4
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
5
5
|
import { publicKeyToProtobuf } from '../index.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { hashAndVerify, hashAndSign } from "./index.js";
|
|
7
|
+
import { privateKeyToPKIMessage, publicKeyToPKIMessage } from "./utils.js";
|
|
8
8
|
export class ECDSAPublicKey {
|
|
9
9
|
type = 'ECDSA';
|
|
10
10
|
jwk;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../../../src/keys/ecdsa/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../../../src/keys/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { Uint8ArrayList } from 'uint8arraylist';
|
|
|
3
3
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
4
4
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
5
5
|
import { decodeDer, encodeBitString, encodeInteger, encodeOctetString, encodeSequence } from '../rsa/der.js';
|
|
6
|
-
import { ECDSAPrivateKey as ECDSAPrivateKeyClass, ECDSAPublicKey as ECDSAPublicKeyClass } from
|
|
7
|
-
import { generateECDSAKey } from
|
|
6
|
+
import { ECDSAPrivateKey as ECDSAPrivateKeyClass, ECDSAPublicKey as ECDSAPublicKeyClass } from "./ecdsa.js";
|
|
7
|
+
import { generateECDSAKey } from "./index.js";
|
|
8
8
|
// 1.2.840.10045.3.1.7 prime256v1 (ANSI X9.62 named elliptic curve)
|
|
9
9
|
const OID_256 = Uint8Array.from([0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07]);
|
|
10
10
|
// 1.3.132.0.34 secp384r1 (SECG (Certicom) named elliptic curve)
|
|
@@ -4,8 +4,8 @@ import { identity } from 'multiformats/hashes/identity';
|
|
|
4
4
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
5
5
|
import { isPromise } from "../../util.js";
|
|
6
6
|
import { publicKeyToProtobuf } from '../index.js';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import * as crypto from "./index.js";
|
|
8
|
+
import { ensureEd25519Key } from "./utils.js";
|
|
9
9
|
export class Ed25519PublicKey {
|
|
10
10
|
type = 'Ed25519';
|
|
11
11
|
raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../src/keys/ed25519/ed25519.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InvalidParametersError } from '@libp2p/interface';
|
|
2
|
-
import { Ed25519PublicKey as Ed25519PublicKeyClass, Ed25519PrivateKey as Ed25519PrivateKeyClass } from
|
|
3
|
-
import * as crypto from
|
|
2
|
+
import { Ed25519PublicKey as Ed25519PublicKeyClass, Ed25519PrivateKey as Ed25519PrivateKeyClass } from "./ed25519.js";
|
|
3
|
+
import * as crypto from "./index.js";
|
|
4
4
|
export function unmarshalEd25519PrivateKey(bytes) {
|
|
5
5
|
// Try the old, redundant public key version
|
|
6
6
|
if (bytes.length > crypto.privateKeyLength) {
|
package/dist/src/keys/index.d.ts
CHANGED
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
*
|
|
8
8
|
* For encryption / decryption support, RSA keys should be used.
|
|
9
9
|
*/
|
|
10
|
-
import type { Curve } from './ecdsa/index.
|
|
10
|
+
import type { Curve } from './ecdsa/index.ts';
|
|
11
11
|
import type { PrivateKey, PublicKey, KeyType, RSAPrivateKey, Secp256k1PrivateKey, Ed25519PrivateKey, Secp256k1PublicKey, Ed25519PublicKey, ECDSAPrivateKey, ECDSAPublicKey } from '@libp2p/interface';
|
|
12
12
|
import type { MultihashDigest } from 'multiformats';
|
|
13
13
|
import type { Digest } from 'multiformats/hashes/digest';
|
|
14
|
-
export { generateEphemeralKeyPair } from './ecdh/index.
|
|
15
|
-
export type { Curve } from './ecdh/index.
|
|
16
|
-
export type { ECDHKey, EnhancedKey, EnhancedKeyPair, ECDHKeyPair } from './interface.
|
|
17
|
-
export { keyStretcher } from './key-stretcher.
|
|
14
|
+
export { generateEphemeralKeyPair } from './ecdh/index.ts';
|
|
15
|
+
export type { Curve } from './ecdh/index.ts';
|
|
16
|
+
export type { ECDHKey, EnhancedKey, EnhancedKeyPair, ECDHKeyPair } from './interface.ts';
|
|
17
|
+
export { keyStretcher } from './key-stretcher.ts';
|
|
18
18
|
/**
|
|
19
19
|
* Generates a keypair of the given type and bitsize
|
|
20
20
|
*/
|
package/dist/src/keys/index.js
CHANGED
|
@@ -8,19 +8,19 @@
|
|
|
8
8
|
* For encryption / decryption support, RSA keys should be used.
|
|
9
9
|
*/
|
|
10
10
|
import { InvalidParametersError, UnsupportedKeyTypeError } from '@libp2p/interface';
|
|
11
|
-
import { ECDSAPrivateKey as ECDSAPrivateKeyClass } from
|
|
12
|
-
import { ECDSA_P_256_OID, ECDSA_P_384_OID, ECDSA_P_521_OID } from
|
|
13
|
-
import { generateECDSAKeyPair, pkiMessageToECDSAPrivateKey, pkiMessageToECDSAPublicKey, unmarshalECDSAPrivateKey, unmarshalECDSAPublicKey } from
|
|
14
|
-
import { privateKeyLength as ed25519PrivateKeyLength, publicKeyLength as ed25519PublicKeyLength } from
|
|
15
|
-
import { generateEd25519KeyPair, generateEd25519KeyPairFromSeed, unmarshalEd25519PrivateKey, unmarshalEd25519PublicKey } from
|
|
16
|
-
import * as pb from
|
|
17
|
-
import { decodeDer } from
|
|
18
|
-
import { RSAES_PKCS1_V1_5_OID } from
|
|
19
|
-
import { pkcs1ToRSAPrivateKey, pkixToRSAPublicKey, generateRSAKeyPair, pkcs1MessageToRSAPrivateKey, pkixMessageToRSAPublicKey, jwkToRSAPrivateKey } from
|
|
20
|
-
import { privateKeyLength as secp256k1PrivateKeyLength, publicKeyLength as secp256k1PublicKeyLength } from
|
|
21
|
-
import { generateSecp256k1KeyPair, unmarshalSecp256k1PrivateKey, unmarshalSecp256k1PublicKey } from
|
|
22
|
-
export { generateEphemeralKeyPair } from
|
|
23
|
-
export { keyStretcher } from
|
|
11
|
+
import { ECDSAPrivateKey as ECDSAPrivateKeyClass } from "./ecdsa/ecdsa.js";
|
|
12
|
+
import { ECDSA_P_256_OID, ECDSA_P_384_OID, ECDSA_P_521_OID } from "./ecdsa/index.js";
|
|
13
|
+
import { generateECDSAKeyPair, pkiMessageToECDSAPrivateKey, pkiMessageToECDSAPublicKey, unmarshalECDSAPrivateKey, unmarshalECDSAPublicKey } from "./ecdsa/utils.js";
|
|
14
|
+
import { privateKeyLength as ed25519PrivateKeyLength, publicKeyLength as ed25519PublicKeyLength } from "./ed25519/index.js";
|
|
15
|
+
import { generateEd25519KeyPair, generateEd25519KeyPairFromSeed, unmarshalEd25519PrivateKey, unmarshalEd25519PublicKey } from "./ed25519/utils.js";
|
|
16
|
+
import * as pb from "./keys.js";
|
|
17
|
+
import { decodeDer } from "./rsa/der.js";
|
|
18
|
+
import { RSAES_PKCS1_V1_5_OID } from "./rsa/index.js";
|
|
19
|
+
import { pkcs1ToRSAPrivateKey, pkixToRSAPublicKey, generateRSAKeyPair, pkcs1MessageToRSAPrivateKey, pkixMessageToRSAPublicKey, jwkToRSAPrivateKey } from "./rsa/utils.js";
|
|
20
|
+
import { privateKeyLength as secp256k1PrivateKeyLength, publicKeyLength as secp256k1PublicKeyLength } from "./secp256k1/index.js";
|
|
21
|
+
import { generateSecp256k1KeyPair, unmarshalSecp256k1PrivateKey, unmarshalSecp256k1PublicKey } from "./secp256k1/utils.js";
|
|
22
|
+
export { generateEphemeralKeyPair } from "./ecdh/index.js";
|
|
23
|
+
export { keyStretcher } from "./key-stretcher.js";
|
|
24
24
|
export async function generateKeyPair(type, bits) {
|
|
25
25
|
if (type === 'Ed25519') {
|
|
26
26
|
return generateEd25519KeyPair();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import randomBytes from '../../random-bytes.js';
|
|
2
|
-
import * as utils from './utils.
|
|
2
|
+
import * as utils from './utils.ts';
|
|
3
3
|
import type { JWKKeyPair } from '../interface.js';
|
|
4
4
|
import type { AbortOptions } from '@libp2p/interface';
|
|
5
5
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
@@ -2,7 +2,7 @@ import { InvalidParametersError } from '@libp2p/interface';
|
|
|
2
2
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
3
3
|
import randomBytes from '../../random-bytes.js';
|
|
4
4
|
import webcrypto from '../../webcrypto/index.js';
|
|
5
|
-
import * as utils from
|
|
5
|
+
import * as utils from "./utils.js";
|
|
6
6
|
export const RSAES_PKCS1_V1_5_OID = '1.2.840.113549.1.1.1';
|
|
7
7
|
export { utils };
|
|
8
8
|
export async function generateRSAKey(bits, options) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import randomBytes from '../../random-bytes.js';
|
|
2
|
-
import * as utils from './utils.
|
|
2
|
+
import * as utils from './utils.ts';
|
|
3
3
|
import type { JWKKeyPair } from '../interface.js';
|
|
4
4
|
import type { AbortOptions } from '@libp2p/interface';
|
|
5
5
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
@@ -3,7 +3,7 @@ import { promisify } from 'node:util';
|
|
|
3
3
|
import { InvalidParametersError } from '@libp2p/interface';
|
|
4
4
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
5
5
|
import randomBytes from '../../random-bytes.js';
|
|
6
|
-
import * as utils from
|
|
6
|
+
import * as utils from "./utils.js";
|
|
7
7
|
const keypair = promisify(crypto.generateKeyPair);
|
|
8
8
|
export const RSAES_PKCS1_V1_5_OID = '1.2.840.113549.1.1.1';
|
|
9
9
|
export { utils };
|
package/dist/src/keys/rsa/rsa.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { base58btc } from 'multiformats/bases/base58';
|
|
2
2
|
import { CID } from 'multiformats/cid';
|
|
3
3
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
4
|
-
import { hashAndSign, utils, hashAndVerify } from
|
|
4
|
+
import { hashAndSign, utils, hashAndVerify } from "./index.js";
|
|
5
5
|
export class RSAPublicKey {
|
|
6
6
|
type = 'RSA';
|
|
7
7
|
jwk;
|
|
@@ -4,9 +4,9 @@ import { create } from 'multiformats/hashes/digest';
|
|
|
4
4
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
5
5
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
6
6
|
import * as pb from '../keys.js';
|
|
7
|
-
import { decodeDer, encodeBitString, encodeInteger, encodeSequence } from
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { decodeDer, encodeBitString, encodeInteger, encodeSequence } from "./der.js";
|
|
8
|
+
import { generateRSAKey, rsaKeySize } from "./index.js";
|
|
9
|
+
import { RSAPrivateKey as RSAPrivateKeyClass, RSAPublicKey as RSAPublicKeyClass } from "./rsa.js";
|
|
10
10
|
export const MAX_RSA_KEY_SIZE = 8192;
|
|
11
11
|
const SHA2_256_CODE = 0x12;
|
|
12
12
|
const MAX_RSA_JWK_SIZE = 1062;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/keys/rsa/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACpF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/keys/rsa/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { CID } from 'multiformats/cid';
|
|
|
3
3
|
import { identity } from 'multiformats/hashes/identity';
|
|
4
4
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
5
5
|
import { publicKeyToProtobuf } from '../index.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { hashAndVerify, hashAndSign } from "./index.js";
|
|
7
|
+
import { validateSecp256k1PublicKey, compressSecp256k1PublicKey, computeSecp256k1PublicKey, validateSecp256k1PrivateKey } from "./utils.js";
|
|
8
8
|
export class Secp256k1PublicKey {
|
|
9
9
|
type = 'secp256k1';
|
|
10
10
|
raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/secp256k1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../../../../src/keys/secp256k1/secp256k1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAK3I,MAAM,OAAO,kBAAkB;IACb,IAAI,GAAG,WAAW,CAAA;IAClB,GAAG,CAAY;IACf,IAAI,CAAY;IAEhC,YAAa,GAAe;QAC1B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,WAAW;QACT,OAAO,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ;QACN,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAE,GAAQ;QACd,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAE,IAAiC,EAAE,GAAe,EAAE,OAAsB;QAChF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;CACF;AAED,MAAM,OAAO,mBAAmB;IACd,IAAI,GAAG,WAAW,CAAA;IAClB,GAAG,CAAY;IACf,SAAS,CAAoB;IAE7C,YAAa,GAAe,EAAE,SAAsB;QAClD,IAAI,CAAC,GAAG,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,SAAS,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,MAAM,CAAE,GAAS;QACf,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAE,OAAoC,EAAE,OAAsB;QAChE,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InvalidPrivateKeyError, InvalidPublicKeyError } from '@libp2p/interface';
|
|
2
2
|
import { secp256k1 as secp } from '@noble/curves/secp256k1.js';
|
|
3
|
-
import { Secp256k1PublicKey as Secp256k1PublicKeyClass, Secp256k1PrivateKey as Secp256k1PrivateKeyClass } from
|
|
3
|
+
import { Secp256k1PublicKey as Secp256k1PublicKeyClass, Secp256k1PrivateKey as Secp256k1PrivateKeyClass } from "./secp256k1.js";
|
|
4
4
|
const PRIVATE_KEY_BYTE_LENGTH = 32;
|
|
5
5
|
export { PRIVATE_KEY_BYTE_LENGTH as privateKeyLength };
|
|
6
6
|
export function unmarshalSecp256k1PrivateKey(bytes) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/crypto",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.17",
|
|
4
4
|
"description": "Crypto primitives for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/crypto#readme",
|
|
@@ -49,23 +49,28 @@
|
|
|
49
49
|
"exports": {
|
|
50
50
|
".": {
|
|
51
51
|
"types": "./dist/src/index.d.ts",
|
|
52
|
-
"import": "./dist/src/index.js"
|
|
52
|
+
"import": "./dist/src/index.js",
|
|
53
|
+
"module-sync": "./dist/src/index.js"
|
|
53
54
|
},
|
|
54
55
|
"./ciphers": {
|
|
55
56
|
"types": "./dist/src/ciphers/index.d.ts",
|
|
56
|
-
"import": "./dist/src/ciphers/index.js"
|
|
57
|
+
"import": "./dist/src/ciphers/index.js",
|
|
58
|
+
"module-sync": "./dist/src/ciphers/index.js"
|
|
57
59
|
},
|
|
58
60
|
"./hmac": {
|
|
59
61
|
"types": "./dist/src/hmac/index.d.ts",
|
|
60
|
-
"import": "./dist/src/hmac/index.js"
|
|
62
|
+
"import": "./dist/src/hmac/index.js",
|
|
63
|
+
"module-sync": "./dist/src/hmac/index.js"
|
|
61
64
|
},
|
|
62
65
|
"./keys": {
|
|
63
66
|
"types": "./dist/src/keys/index.d.ts",
|
|
64
|
-
"import": "./dist/src/keys/index.js"
|
|
67
|
+
"import": "./dist/src/keys/index.js",
|
|
68
|
+
"module-sync": "./dist/src/keys/index.js"
|
|
65
69
|
},
|
|
66
70
|
"./webcrypto": {
|
|
67
71
|
"types": "./dist/src/webcrypto/index.d.ts",
|
|
68
|
-
"import": "./dist/src/webcrypto/index.js"
|
|
72
|
+
"import": "./dist/src/webcrypto/index.js",
|
|
73
|
+
"module-sync": "./dist/src/webcrypto/index.js"
|
|
69
74
|
}
|
|
70
75
|
},
|
|
71
76
|
"scripts": {
|
|
@@ -85,7 +90,7 @@
|
|
|
85
90
|
"generate": "protons ./src/keys/keys.proto"
|
|
86
91
|
},
|
|
87
92
|
"dependencies": {
|
|
88
|
-
"@libp2p/interface": "^3.2.
|
|
93
|
+
"@libp2p/interface": "^3.2.2",
|
|
89
94
|
"@noble/curves": "^2.0.1",
|
|
90
95
|
"@noble/hashes": "^2.0.1",
|
|
91
96
|
"multiformats": "^13.4.0",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { concat } from 'uint8arrays/concat'
|
|
2
2
|
import { fromString } from 'uint8arrays/from-string'
|
|
3
3
|
import webcrypto from '../webcrypto/index.js'
|
|
4
|
-
import type { CreateAESCipherOptions, AESCipher } from './interface.
|
|
4
|
+
import type { CreateAESCipherOptions, AESCipher } from './interface.ts'
|
|
5
5
|
|
|
6
6
|
// WebKit on Linux does not support deriving a key from an empty PBKDF2 key.
|
|
7
7
|
// So, as a workaround, we provide the generated key as a constant. We test that
|
package/src/ciphers/aes-gcm.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import crypto from 'crypto'
|
|
2
2
|
import { concat as uint8ArrayConcat } from 'uint8arrays/concat'
|
|
3
3
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
4
|
-
import type { CreateAESCipherOptions, AESCipher } from './interface.
|
|
4
|
+
import type { CreateAESCipherOptions, AESCipher } from './interface.ts'
|
|
5
5
|
|
|
6
6
|
export type { AESCipher, CreateAESCipherOptions }
|
|
7
7
|
|
package/src/ciphers/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * as AES_GCM from './aes-gcm.
|
|
1
|
+
export * as AES_GCM from './aes-gcm.ts'
|
package/src/hmac/index.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
* To enable the Web Crypto API and allow `@libp2p/crypto` to work fully, please serve your page over HTTPS.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import * as hmac from './hmac/index.
|
|
12
|
-
import * as keys from './keys/index.
|
|
13
|
-
import pbkdf2 from './pbkdf2.
|
|
14
|
-
import randomBytes from './random-bytes.
|
|
11
|
+
import * as hmac from './hmac/index.ts'
|
|
12
|
+
import * as keys from './keys/index.ts'
|
|
13
|
+
import pbkdf2 from './pbkdf2.ts'
|
|
14
|
+
import randomBytes from './random-bytes.ts'
|
|
15
15
|
|
|
16
16
|
export { hmac }
|
|
17
17
|
export { keys }
|
|
@@ -4,7 +4,7 @@ import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
|
4
4
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
|
5
5
|
import { base64urlToBuffer } from '../../util.js'
|
|
6
6
|
import webcrypto from '../../webcrypto/index.js'
|
|
7
|
-
import type { Curve } from './index.
|
|
7
|
+
import type { Curve } from './index.ts'
|
|
8
8
|
import type { ECDHKey, ECDHKeyPair, JWKEncodedPrivateKey, JWKEncodedPublicKey } from '../interface.js'
|
|
9
9
|
|
|
10
10
|
const curveLengths = {
|
package/src/keys/ecdsa/ecdsa.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { CID } from 'multiformats/cid'
|
|
|
3
3
|
import { identity } from 'multiformats/hashes/identity'
|
|
4
4
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
5
5
|
import { publicKeyToProtobuf } from '../index.js'
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { hashAndVerify, hashAndSign } from './index.ts'
|
|
7
|
+
import { privateKeyToPKIMessage, publicKeyToPKIMessage } from './utils.ts'
|
|
8
8
|
import type { ECDSAPublicKey as ECDSAPublicKeyInterface, ECDSAPrivateKey as ECDSAPrivateKeyInterface, AbortOptions } from '@libp2p/interface'
|
|
9
9
|
import type { Digest } from 'multiformats/hashes/digest'
|
|
10
10
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
package/src/keys/ecdsa/utils.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { Uint8ArrayList } from 'uint8arraylist'
|
|
|
3
3
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
4
4
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
|
|
5
5
|
import { decodeDer, encodeBitString, encodeInteger, encodeOctetString, encodeSequence } from '../rsa/der.js'
|
|
6
|
-
import { ECDSAPrivateKey as ECDSAPrivateKeyClass, ECDSAPublicKey as ECDSAPublicKeyClass } from './ecdsa.
|
|
7
|
-
import { generateECDSAKey } from './index.
|
|
6
|
+
import { ECDSAPrivateKey as ECDSAPrivateKeyClass, ECDSAPublicKey as ECDSAPublicKeyClass } from './ecdsa.ts'
|
|
7
|
+
import { generateECDSAKey } from './index.ts'
|
|
8
8
|
import type { Curve } from '../ecdh/index.js'
|
|
9
9
|
import type { ECDSAPublicKey, ECDSAPrivateKey } from '@libp2p/interface'
|
|
10
10
|
|
|
@@ -4,8 +4,8 @@ import { identity } from 'multiformats/hashes/identity'
|
|
|
4
4
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
5
5
|
import { isPromise } from '../../util.ts'
|
|
6
6
|
import { publicKeyToProtobuf } from '../index.js'
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import * as crypto from './index.ts'
|
|
8
|
+
import { ensureEd25519Key } from './utils.ts'
|
|
9
9
|
import type { Ed25519PublicKey as Ed25519PublicKeyInterface, Ed25519PrivateKey as Ed25519PrivateKeyInterface, AbortOptions } from '@libp2p/interface'
|
|
10
10
|
import type { Digest } from 'multiformats/hashes/digest'
|
|
11
11
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InvalidParametersError } from '@libp2p/interface'
|
|
2
|
-
import { Ed25519PublicKey as Ed25519PublicKeyClass, Ed25519PrivateKey as Ed25519PrivateKeyClass } from './ed25519.
|
|
3
|
-
import * as crypto from './index.
|
|
2
|
+
import { Ed25519PublicKey as Ed25519PublicKeyClass, Ed25519PrivateKey as Ed25519PrivateKeyClass } from './ed25519.ts'
|
|
3
|
+
import * as crypto from './index.ts'
|
|
4
4
|
import type { Ed25519PublicKey, Ed25519PrivateKey } from '@libp2p/interface'
|
|
5
5
|
|
|
6
6
|
export function unmarshalEd25519PrivateKey (bytes: Uint8Array): Ed25519PrivateKey {
|
package/src/keys/index.ts
CHANGED
|
@@ -9,26 +9,26 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { InvalidParametersError, UnsupportedKeyTypeError } from '@libp2p/interface'
|
|
12
|
-
import { ECDSAPrivateKey as ECDSAPrivateKeyClass } from './ecdsa/ecdsa.
|
|
13
|
-
import { ECDSA_P_256_OID, ECDSA_P_384_OID, ECDSA_P_521_OID } from './ecdsa/index.
|
|
14
|
-
import { generateECDSAKeyPair, pkiMessageToECDSAPrivateKey, pkiMessageToECDSAPublicKey, unmarshalECDSAPrivateKey, unmarshalECDSAPublicKey } from './ecdsa/utils.
|
|
15
|
-
import { privateKeyLength as ed25519PrivateKeyLength, publicKeyLength as ed25519PublicKeyLength } from './ed25519/index.
|
|
16
|
-
import { generateEd25519KeyPair, generateEd25519KeyPairFromSeed, unmarshalEd25519PrivateKey, unmarshalEd25519PublicKey } from './ed25519/utils.
|
|
17
|
-
import * as pb from './keys.
|
|
18
|
-
import { decodeDer } from './rsa/der.
|
|
19
|
-
import { RSAES_PKCS1_V1_5_OID } from './rsa/index.
|
|
20
|
-
import { pkcs1ToRSAPrivateKey, pkixToRSAPublicKey, generateRSAKeyPair, pkcs1MessageToRSAPrivateKey, pkixMessageToRSAPublicKey, jwkToRSAPrivateKey } from './rsa/utils.
|
|
21
|
-
import { privateKeyLength as secp256k1PrivateKeyLength, publicKeyLength as secp256k1PublicKeyLength } from './secp256k1/index.
|
|
22
|
-
import { generateSecp256k1KeyPair, unmarshalSecp256k1PrivateKey, unmarshalSecp256k1PublicKey } from './secp256k1/utils.
|
|
23
|
-
import type { Curve } from './ecdsa/index.
|
|
12
|
+
import { ECDSAPrivateKey as ECDSAPrivateKeyClass } from './ecdsa/ecdsa.ts'
|
|
13
|
+
import { ECDSA_P_256_OID, ECDSA_P_384_OID, ECDSA_P_521_OID } from './ecdsa/index.ts'
|
|
14
|
+
import { generateECDSAKeyPair, pkiMessageToECDSAPrivateKey, pkiMessageToECDSAPublicKey, unmarshalECDSAPrivateKey, unmarshalECDSAPublicKey } from './ecdsa/utils.ts'
|
|
15
|
+
import { privateKeyLength as ed25519PrivateKeyLength, publicKeyLength as ed25519PublicKeyLength } from './ed25519/index.ts'
|
|
16
|
+
import { generateEd25519KeyPair, generateEd25519KeyPairFromSeed, unmarshalEd25519PrivateKey, unmarshalEd25519PublicKey } from './ed25519/utils.ts'
|
|
17
|
+
import * as pb from './keys.ts'
|
|
18
|
+
import { decodeDer } from './rsa/der.ts'
|
|
19
|
+
import { RSAES_PKCS1_V1_5_OID } from './rsa/index.ts'
|
|
20
|
+
import { pkcs1ToRSAPrivateKey, pkixToRSAPublicKey, generateRSAKeyPair, pkcs1MessageToRSAPrivateKey, pkixMessageToRSAPublicKey, jwkToRSAPrivateKey } from './rsa/utils.ts'
|
|
21
|
+
import { privateKeyLength as secp256k1PrivateKeyLength, publicKeyLength as secp256k1PublicKeyLength } from './secp256k1/index.ts'
|
|
22
|
+
import { generateSecp256k1KeyPair, unmarshalSecp256k1PrivateKey, unmarshalSecp256k1PublicKey } from './secp256k1/utils.ts'
|
|
23
|
+
import type { Curve } from './ecdsa/index.ts'
|
|
24
24
|
import type { PrivateKey, PublicKey, KeyType, RSAPrivateKey, Secp256k1PrivateKey, Ed25519PrivateKey, Secp256k1PublicKey, Ed25519PublicKey, ECDSAPrivateKey, ECDSAPublicKey } from '@libp2p/interface'
|
|
25
25
|
import type { MultihashDigest } from 'multiformats'
|
|
26
26
|
import type { Digest } from 'multiformats/hashes/digest'
|
|
27
27
|
|
|
28
|
-
export { generateEphemeralKeyPair } from './ecdh/index.
|
|
29
|
-
export type { Curve } from './ecdh/index.
|
|
30
|
-
export type { ECDHKey, EnhancedKey, EnhancedKeyPair, ECDHKeyPair } from './interface.
|
|
31
|
-
export { keyStretcher } from './key-stretcher.
|
|
28
|
+
export { generateEphemeralKeyPair } from './ecdh/index.ts'
|
|
29
|
+
export type { Curve } from './ecdh/index.ts'
|
|
30
|
+
export type { ECDHKey, EnhancedKey, EnhancedKeyPair, ECDHKeyPair } from './interface.ts'
|
|
31
|
+
export { keyStretcher } from './key-stretcher.ts'
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Generates a keypair of the given type and bitsize
|