@matter/general 0.16.0-alpha.0-20251111-11cc8c3bd → 0.16.0-alpha.0-20251112-dba1973d5
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/cjs/codec/DerCodec.d.ts +6 -1
- package/dist/cjs/codec/DerCodec.d.ts.map +1 -1
- package/dist/cjs/codec/DerCodec.js +13 -2
- package/dist/cjs/codec/DerCodec.js.map +1 -1
- package/dist/cjs/crypto/Crypto.d.ts +3 -3
- package/dist/cjs/crypto/Crypto.d.ts.map +1 -1
- package/dist/cjs/crypto/Crypto.js.map +1 -1
- package/dist/cjs/crypto/CryptoError.d.ts +5 -0
- package/dist/cjs/crypto/CryptoError.d.ts.map +1 -1
- package/dist/cjs/crypto/CryptoError.js +4 -1
- package/dist/cjs/crypto/CryptoError.js.map +1 -1
- package/dist/cjs/crypto/EcdsaSignature.d.ts +43 -0
- package/dist/cjs/crypto/EcdsaSignature.d.ts.map +1 -0
- package/dist/cjs/crypto/EcdsaSignature.js +74 -0
- package/dist/cjs/crypto/EcdsaSignature.js.map +6 -0
- package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts +4 -3
- package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts.map +1 -1
- package/dist/cjs/crypto/NodeJsStyleCrypto.js +14 -11
- package/dist/cjs/crypto/NodeJsStyleCrypto.js.map +1 -1
- package/dist/cjs/crypto/StandardCrypto.d.ts +4 -3
- package/dist/cjs/crypto/StandardCrypto.d.ts.map +1 -1
- package/dist/cjs/crypto/StandardCrypto.js +5 -21
- package/dist/cjs/crypto/StandardCrypto.js.map +1 -1
- package/dist/cjs/crypto/index.d.ts +1 -0
- package/dist/cjs/crypto/index.d.ts.map +1 -1
- package/dist/cjs/crypto/index.js +1 -0
- package/dist/cjs/crypto/index.js.map +1 -1
- package/dist/esm/codec/DerCodec.d.ts +6 -1
- package/dist/esm/codec/DerCodec.d.ts.map +1 -1
- package/dist/esm/codec/DerCodec.js +13 -2
- package/dist/esm/codec/DerCodec.js.map +1 -1
- package/dist/esm/crypto/Crypto.d.ts +3 -3
- package/dist/esm/crypto/Crypto.d.ts.map +1 -1
- package/dist/esm/crypto/Crypto.js.map +1 -1
- package/dist/esm/crypto/CryptoError.d.ts +5 -0
- package/dist/esm/crypto/CryptoError.d.ts.map +1 -1
- package/dist/esm/crypto/CryptoError.js +4 -1
- package/dist/esm/crypto/CryptoError.js.map +1 -1
- package/dist/esm/crypto/EcdsaSignature.d.ts +43 -0
- package/dist/esm/crypto/EcdsaSignature.d.ts.map +1 -0
- package/dist/esm/crypto/EcdsaSignature.js +54 -0
- package/dist/esm/crypto/EcdsaSignature.js.map +6 -0
- package/dist/esm/crypto/NodeJsStyleCrypto.d.ts +4 -3
- package/dist/esm/crypto/NodeJsStyleCrypto.d.ts.map +1 -1
- package/dist/esm/crypto/NodeJsStyleCrypto.js +14 -11
- package/dist/esm/crypto/NodeJsStyleCrypto.js.map +1 -1
- package/dist/esm/crypto/StandardCrypto.d.ts +4 -3
- package/dist/esm/crypto/StandardCrypto.d.ts.map +1 -1
- package/dist/esm/crypto/StandardCrypto.js +5 -21
- package/dist/esm/crypto/StandardCrypto.js.map +1 -1
- package/dist/esm/crypto/index.d.ts +1 -0
- package/dist/esm/crypto/index.d.ts.map +1 -1
- package/dist/esm/crypto/index.js +1 -0
- package/dist/esm/crypto/index.js.map +1 -1
- package/package.json +2 -2
- package/src/codec/DerCodec.ts +19 -3
- package/src/crypto/Crypto.ts +3 -12
- package/src/crypto/CryptoError.ts +5 -0
- package/src/crypto/EcdsaSignature.ts +83 -0
- package/src/crypto/NodeJsStyleCrypto.ts +14 -12
- package/src/crypto/StandardCrypto.ts +6 -28
- package/src/crypto/index.ts +1 -0
|
@@ -57,7 +57,12 @@ export declare const DatatypeOverride: (type: DerType, value: any) => {
|
|
|
57
57
|
export declare const RawBytes: (bytes: Bytes) => {
|
|
58
58
|
_bytes: AllowSharedBufferSource;
|
|
59
59
|
};
|
|
60
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Optimized path for encoding raw bytes that represent an unsigned integer.
|
|
62
|
+
*
|
|
63
|
+
* This allows to avoid e.g. round tripping a 256-bit number through a bigint when encoding.
|
|
64
|
+
*/
|
|
65
|
+
export declare const DerRawUint: (number: Bytes) => {
|
|
61
66
|
_tag: DerType;
|
|
62
67
|
_bytes: AllowSharedBufferSource;
|
|
63
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DerCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DerCodec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,oBAAY,MAAM;IACd,QAAQ,cAAc;IACtB,KAAK,SAAS;IACd,KAAK,WAAW;IAChB,QAAQ,cAAc;IACtB,WAAW,aAAa;IACxB,YAAY,UAAU;IACtB,OAAO,SAAS;CACnB;AAED,qBAAa,QAAS,SAAQ,mBAAmB;CAAG;AAEpD,oBAAY,OAAO;IACf,OAAO,IAAO;IACd,OAAO,IAAO;IACd,SAAS,IAAO;IAChB,WAAW,IAAO;IAClB,IAAI,IAAO;IACX,gBAAgB,IAAO;IACvB,UAAU,KAAO;IACjB,QAAQ,KAAO;IACf,GAAG,KAAO;IACV,eAAe,KAAO;IACtB,SAAS,KAAO;IAChB,SAAS,KAAO;IAChB,OAAO,KAAO;IACd,eAAe,KAAO;CACzB;AAUD,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM;UACO,MAAM;;CAEpD,CAAC;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,UAAS,GAAQ,QAG3D,CAAC;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,KAAK,EAAE,gBAAW;UACZ,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK;;;CAG5D,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK;;CAEnC,CAAC;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,KAAK;;;
|
|
1
|
+
{"version":3,"file":"DerCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DerCodec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,oBAAY,MAAM;IACd,QAAQ,cAAc;IACtB,KAAK,SAAS;IACd,KAAK,WAAW;IAChB,QAAQ,cAAc;IACtB,WAAW,aAAa;IACxB,YAAY,UAAU;IACtB,OAAO,SAAS;CACnB;AAED,qBAAa,QAAS,SAAQ,mBAAmB;CAAG;AAEpD,oBAAY,OAAO;IACf,OAAO,IAAO;IACd,OAAO,IAAO;IACd,SAAS,IAAO;IAChB,WAAW,IAAO;IAClB,IAAI,IAAO;IACX,gBAAgB,IAAO;IACvB,UAAU,KAAO;IACjB,QAAQ,KAAO;IACf,GAAG,KAAO;IACV,eAAe,KAAO;IACtB,SAAS,KAAO;IAChB,SAAS,KAAO;IAChB,OAAO,KAAO;IACd,eAAe,KAAO;CACzB;AAUD,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM;UACO,MAAM;;CAEpD,CAAC;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,UAAS,GAAQ,QAG3D,CAAC;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,KAAK,EAAE,gBAAW;UACZ,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK;;;CAG5D,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK;;CAEnC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,KAAK;;;CAwBvC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,qBAAa,QAAQ;;IACjB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK;IAqEpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO;IAInC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM;CA0KtE"}
|
|
@@ -21,12 +21,12 @@ __export(DerCodec_exports, {
|
|
|
21
21
|
ContextTagged: () => ContextTagged,
|
|
22
22
|
ContextTaggedBytes: () => ContextTaggedBytes,
|
|
23
23
|
DatatypeOverride: () => DatatypeOverride,
|
|
24
|
-
DerBigUint: () => DerBigUint,
|
|
25
24
|
DerBitString: () => DerBitString,
|
|
26
25
|
DerCodec: () => DerCodec,
|
|
27
26
|
DerError: () => DerError,
|
|
28
27
|
DerKey: () => DerKey,
|
|
29
28
|
DerObject: () => DerObject,
|
|
29
|
+
DerRawUint: () => DerRawUint,
|
|
30
30
|
DerType: () => DerType,
|
|
31
31
|
ObjectId: () => ObjectId,
|
|
32
32
|
RawBytes: () => RawBytes
|
|
@@ -107,10 +107,21 @@ const DatatypeOverride = (type, value) => ({
|
|
|
107
107
|
const RawBytes = (bytes) => ({
|
|
108
108
|
["_bytes" /* Bytes */]: bytes
|
|
109
109
|
});
|
|
110
|
-
const
|
|
110
|
+
const DerRawUint = (number) => {
|
|
111
111
|
const numberData = import_Bytes.Bytes.of(number);
|
|
112
112
|
if (numberData[0] & 128) {
|
|
113
113
|
number = import_Bytes.Bytes.concat(new Uint8Array([0]), numberData);
|
|
114
|
+
} else {
|
|
115
|
+
let firstByte = 0;
|
|
116
|
+
while (firstByte < numberData.length - 1) {
|
|
117
|
+
if (numberData[firstByte] || numberData[firstByte + 1] & 128) {
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
firstByte++;
|
|
121
|
+
}
|
|
122
|
+
if (firstByte) {
|
|
123
|
+
number = numberData.slice(firstByte);
|
|
124
|
+
}
|
|
114
125
|
}
|
|
115
126
|
return {
|
|
116
127
|
["_tag" /* TagId */]: 2 /* Integer */,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/codec/DerCodec.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,yBAAoC;AACpC,mBAAsB;AACtB,wBAA2B;AAC3B,oBAAsB;AACtB,kBAAyB;AATzB;AAAA;AAAA;AAAA;AAAA;AAWO,IAAK,SAAL,kBAAKA,YAAL;AACH,EAAAA,QAAA,cAAW;AACX,EAAAA,QAAA,WAAQ;AACR,EAAAA,QAAA,WAAQ;AACR,EAAAA,QAAA,cAAW;AACX,EAAAA,QAAA,iBAAc;AACd,EAAAA,QAAA,kBAAe;AACf,EAAAA,QAAA,aAAU;AAPF,SAAAA;AAAA,GAAA;AAUL,MAAM,iBAAiB,uCAAoB;AAAC;AAE5C,IAAK,UAAL,kBAAKC,aAAL;AACH,EAAAA,kBAAA,aAAU,KAAV;AACA,EAAAA,kBAAA,aAAU,KAAV;AACA,EAAAA,kBAAA,eAAY,KAAZ;AACA,EAAAA,kBAAA,iBAAc,KAAd;AACA,EAAAA,kBAAA,UAAO,KAAP;AACA,EAAAA,kBAAA,sBAAmB,KAAnB;AACA,EAAAA,kBAAA,gBAAa,MAAb;AACA,EAAAA,kBAAA,cAAW,MAAX;AACA,EAAAA,kBAAA,SAAM,MAAN;AACA,EAAAA,kBAAA,qBAAkB,MAAlB;AACA,EAAAA,kBAAA,eAAY,MAAZ;AACA,EAAAA,kBAAA,eAAY,MAAZ;AACA,EAAAA,kBAAA,aAAU,MAAV;AACA,EAAAA,kBAAA,qBAAkB,MAAlB;AAdQ,SAAAA;AAAA,GAAA;AAiBZ,MAAM,cAAc;AAEpB,IAAW,WAAX,kBAAWC,cAAX;AACI,EAAAA,oBAAA,eAAY,KAAZ;AACA,EAAAA,oBAAA,iBAAc,MAAd;AACA,EAAAA,oBAAA,qBAAkB,OAAlB;AACA,EAAAA,oBAAA,aAAU,OAAV;AAJO,SAAAA;AAAA,GAAA;AAMJ,MAAM,WAAW,CAAC,cAAsB;AAAA,EAC3C,CAAC,kBAAY,GAAG;AAAA,EAChB,CAAC,oBAAY,GAAG,mBAAM,QAAQ,QAAQ;AAC1C;AACO,MAAM,YAAY,CAAC,UAAkB,UAAe,CAAC,OAAO;AAAA,EAC/D,CAAC,0BAAe,GAAG,SAAS,QAAQ;AAAA,EACpC,GAAG;AACP;AACO,MAAM,eAAe,CAAC,MAAa,UAAU,OAAO;AAAA,EACvD,CAAC,kBAAY,GAAG;AAAA,EAChB,CAAC,oBAAY,GAAG;AAAA,EAChB,CAAC,4BAAkB,GAAG;AAC1B;AACO,MAAM,gBAAgB,CAAC,OAAe,WAAiB;AAAA,EAC1D,CAAC,kBAAY,GAAG,QAAQ,4BAA2B;AAAA,EACnD,CAAC,oBAAY,GAAG,UAAU,SAAY,IAAI,WAAW,CAAC,IAAI,SAAS,OAAO,KAAK;AACnF;AACO,MAAM,qBAAqB,CAAC,OAAe,WAAkB;AAAA,EAChE,CAAC,kBAAY,GAAG,QAAQ;AAAA,EACxB,CAAC,oBAAY,GAAG;AACpB;AACO,MAAM,mBAAmB,CAAC,MAAe,WAAgB;AAAA,EAC5D,CAAC,0BAAmB,GAAG;AAAA,EACvB,CAAC,oBAAc,GAAG;AACtB;AACO,MAAM,WAAW,CAAC,WAAkB;AAAA,EACvC,CAAC,oBAAY,GAAG;AACpB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["DerKey", "DerType", "DerClass"]
|
|
6
6
|
}
|
|
@@ -8,6 +8,7 @@ import { MaybePromise } from "#util/Promises.js";
|
|
|
8
8
|
import * as mod from "@noble/curves/abstract/modular.js";
|
|
9
9
|
import * as utils from "@noble/curves/utils.js";
|
|
10
10
|
import { Entropy } from "../util/Entropy.js";
|
|
11
|
+
import { EcdsaSignature } from "./EcdsaSignature.js";
|
|
11
12
|
import type { PrivateKey, PublicKey } from "./Key.js";
|
|
12
13
|
export declare const ec: {
|
|
13
14
|
mod(a: bigint, b: bigint): bigint;
|
|
@@ -73,7 +74,6 @@ export declare const CRYPTO_EC_CURVE = "prime256v1";
|
|
|
73
74
|
export declare const CRYPTO_EC_KEY_BYTES = 32;
|
|
74
75
|
export declare const CRYPTO_AUTH_TAG_LENGTH = 16;
|
|
75
76
|
export declare const CRYPTO_SYMMETRIC_KEY_LENGTH = 16;
|
|
76
|
-
export type CryptoDsaEncoding = "ieee-p1363" | "der";
|
|
77
77
|
/**
|
|
78
78
|
* These are the cryptographic primitives required to implement the Matter protocol.
|
|
79
79
|
*
|
|
@@ -117,11 +117,11 @@ export declare abstract class Crypto extends Entropy {
|
|
|
117
117
|
/**
|
|
118
118
|
* Create an ECDSA signature.
|
|
119
119
|
*/
|
|
120
|
-
abstract signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[]
|
|
120
|
+
abstract signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[]): MaybePromise<EcdsaSignature>;
|
|
121
121
|
/**
|
|
122
122
|
* Authenticate an ECDSA signature.
|
|
123
123
|
*/
|
|
124
|
-
abstract verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature:
|
|
124
|
+
abstract verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: EcdsaSignature): MaybePromise<void>;
|
|
125
125
|
/**
|
|
126
126
|
* Create a general-purpose EC key.
|
|
127
127
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,mCAAmC,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,mCAAmC,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAyFF,GAAI,yBAGjB,GAAG;;;;;;;;;;;CAxFF,CAAC;AAEF,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AACtD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAI9C;;;;;;;;;;GAUG;AACH,8BAAsB,MAAO,SAAQ,OAAO;IACxC;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAE3E;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAE3E;;OAEG;IACH,QAAQ,CAAC,aAAa,CAClB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAClF,YAAY,CAAC,KAAK,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAE/G;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAErG;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC,cAAc,CAAC;IAE/F;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC;IAEvG;;OAEG;IACH,QAAQ,CAAC,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;IAEnF,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM;CAOjC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/Crypto.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,wBAA2B;AAC3B,oBAAuB;AAGvB,UAAqB;AACrB,kBAAqB;AACrB,YAAuB;AACvB,qBAAwB;AAdxB;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,wBAA2B;AAC3B,oBAAuB;AAGvB,UAAqB;AACrB,kBAAqB;AACrB,YAAuB;AACvB,qBAAwB;AAdxB;AAAA;AAAA;AAAA;AAAA;AAkBO,MAAM,KAAK;AAAA,EACd;AAAA,EACA,GAAG;AAAA,EACH,GAAG;AACP;AAEO,MAAM,2BAA2B;AACjC,MAAM,wBAAwB;AAC9B,MAAM,kBAAkB;AACxB,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB;AAC/B,MAAM,8BAA8B;AAE3C,MAAM,SAAS,qBAAO,IAAI,QAAQ;AAa3B,MAAe,eAAe,uBAAQ;AAAA,EA0DzC,YAAY,WAAoB;AAC5B,UAAM,UAAU,CAAC,SAAS,6BAAW,OAAO,KAAK,kBAAkB,GAAG,uBAAuB;AAC7F,QAAI,WAAW;AACX,cAAQ,KAAK,OAAO,SAAS;AAAA,IACjC;AACA,WAAO,MAAM,GAAG,OAAO;AAAA,EAC3B;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -29,4 +29,9 @@ export declare class CryptoDecryptError extends CryptoError {
|
|
|
29
29
|
*/
|
|
30
30
|
export declare class KeyInputError extends CryptoInputError {
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Thrown when verification fails because of an invalid signature format.
|
|
34
|
+
*/
|
|
35
|
+
export declare class SignatureEncodingError extends CryptoVerifyError {
|
|
36
|
+
}
|
|
32
37
|
//# sourceMappingURL=CryptoError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoError.d.ts","sourceRoot":"","sources":["../../../src/crypto/CryptoError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;CAAG;AAE/C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;CAAG;AAEpD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;CAAG;AAErD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AAEtD;;GAEG;AACH,qBAAa,aAAc,SAAQ,gBAAgB;CAAG"}
|
|
1
|
+
{"version":3,"file":"CryptoError.d.ts","sourceRoot":"","sources":["../../../src/crypto/CryptoError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;CAAG;AAE/C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;CAAG;AAEpD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;CAAG;AAErD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AAEtD;;GAEG;AACH,qBAAa,aAAc,SAAQ,gBAAgB;CAAG;AAEtD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB;CAAG"}
|
|
@@ -22,7 +22,8 @@ __export(CryptoError_exports, {
|
|
|
22
22
|
CryptoError: () => CryptoError,
|
|
23
23
|
CryptoInputError: () => CryptoInputError,
|
|
24
24
|
CryptoVerifyError: () => CryptoVerifyError,
|
|
25
|
-
KeyInputError: () => KeyInputError
|
|
25
|
+
KeyInputError: () => KeyInputError,
|
|
26
|
+
SignatureEncodingError: () => SignatureEncodingError
|
|
26
27
|
});
|
|
27
28
|
module.exports = __toCommonJS(CryptoError_exports);
|
|
28
29
|
var import_MatterError = require("#MatterError.js");
|
|
@@ -41,4 +42,6 @@ class CryptoDecryptError extends CryptoError {
|
|
|
41
42
|
}
|
|
42
43
|
class KeyInputError extends CryptoInputError {
|
|
43
44
|
}
|
|
45
|
+
class SignatureEncodingError extends CryptoVerifyError {
|
|
46
|
+
}
|
|
44
47
|
//# sourceMappingURL=CryptoError.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/CryptoError.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA4B;AAN5B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,oBAAoB,+BAAY;AAAC;AAKvC,MAAM,yBAAyB,+BAAY;AAAC;AAK5C,MAAM,0BAA0B,YAAY;AAAC;AAK7C,MAAM,2BAA2B,YAAY;AAAC;AAK9C,MAAM,sBAAsB,iBAAiB;AAAC;",
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA4B;AAN5B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,oBAAoB,+BAAY;AAAC;AAKvC,MAAM,yBAAyB,+BAAY;AAAC;AAK5C,MAAM,0BAA0B,YAAY;AAAC;AAK7C,MAAM,2BAA2B,YAAY;AAAC;AAK9C,MAAM,sBAAsB,iBAAiB;AAAC;AAK9C,MAAM,+BAA+B,kBAAkB;AAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Bytes } from "#util/Bytes.js";
|
|
7
|
+
/**
|
|
8
|
+
* An ECDSA signature.
|
|
9
|
+
*
|
|
10
|
+
* Input and output may be IEEE-P1363 or DER encoded. Matter helpfully mixes and matches so we validate input to ensure
|
|
11
|
+
* the correct encoding is specified. Extraction to bytes must explicitly use {@link bytes} or {@link der} to specify
|
|
12
|
+
* the desired format.
|
|
13
|
+
*
|
|
14
|
+
* Currently we only support 256-bit curves.
|
|
15
|
+
*/
|
|
16
|
+
export declare class EcdsaSignature {
|
|
17
|
+
#private;
|
|
18
|
+
constructor(bytes: Bytes, encoding?: string);
|
|
19
|
+
/**
|
|
20
|
+
* Access signature in IEEE P1363 format.
|
|
21
|
+
*/
|
|
22
|
+
get bytes(): AllowSharedBufferSource;
|
|
23
|
+
/**
|
|
24
|
+
* Access signature in DER format.
|
|
25
|
+
*/
|
|
26
|
+
get der(): AllowSharedBufferSource;
|
|
27
|
+
}
|
|
28
|
+
export declare namespace EcdsaSignature {
|
|
29
|
+
/**
|
|
30
|
+
* IEEE P1363 encoding.
|
|
31
|
+
*
|
|
32
|
+
* This is a simple concatenation of the raw R and S elements
|
|
33
|
+
*/
|
|
34
|
+
const IEEE_P1363 = "ieee-p1363";
|
|
35
|
+
/**
|
|
36
|
+
* DER encoding.
|
|
37
|
+
*
|
|
38
|
+
* This encodes R and S elements in a sequence of separate integers.
|
|
39
|
+
*/
|
|
40
|
+
const DER = "der";
|
|
41
|
+
type Encoding = typeof IEEE_P1363 | typeof DER;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=EcdsaSignature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EcdsaSignature.d.ts","sourceRoot":"","sources":["../../../src/crypto/EcdsaSignature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC;;;;;;;;GAQG;AACH,qBAAa,cAAc;;gBAGX,KAAK,EAAE,KAAK,EAAE,QAAQ,SAAe;IAuBjD;;OAEG;IACH,IAAI,KAAK,4BAER;IAED;;OAEG;IACH,IAAI,GAAG,4BAQN;CACJ;AAED,yBAAiB,cAAc,CAAC;IAC5B;;;;OAIG;IACI,MAAM,UAAU,eAAe,CAAC;IAEvC;;;;OAIG;IACI,MAAM,GAAG,QAAQ,CAAC;IAEzB,KAAY,QAAQ,GAAG,OAAO,UAAU,GAAG,OAAO,GAAG,CAAC;CACzD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var EcdsaSignature_exports = {};
|
|
20
|
+
__export(EcdsaSignature_exports, {
|
|
21
|
+
EcdsaSignature: () => EcdsaSignature
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(EcdsaSignature_exports);
|
|
24
|
+
var import_DerCodec = require("#codec/DerCodec.js");
|
|
25
|
+
var import_Bytes = require("#util/Bytes.js");
|
|
26
|
+
var import_CryptoError = require("./CryptoError.js");
|
|
27
|
+
/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
30
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
31
|
+
*/
|
|
32
|
+
class EcdsaSignature {
|
|
33
|
+
#bytes;
|
|
34
|
+
constructor(bytes, encoding = "ieee-p1363") {
|
|
35
|
+
if (encoding === "der") {
|
|
36
|
+
try {
|
|
37
|
+
const decoded = import_DerCodec.DerCodec.decode(bytes);
|
|
38
|
+
const r = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[0], 32);
|
|
39
|
+
const s = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[1], 32);
|
|
40
|
+
this.#bytes = import_Bytes.Bytes.concat(r, s);
|
|
41
|
+
} catch (cause) {
|
|
42
|
+
import_DerCodec.DerError.accept(cause);
|
|
43
|
+
throw new import_CryptoError.SignatureEncodingError("Could not decode DER signature", { cause });
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
if (bytes.byteLength !== 64) {
|
|
47
|
+
throw new import_CryptoError.SignatureEncodingError("Invalid IEEE P1364 signature length");
|
|
48
|
+
}
|
|
49
|
+
this.#bytes = bytes;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Access signature in IEEE P1363 format.
|
|
54
|
+
*/
|
|
55
|
+
get bytes() {
|
|
56
|
+
return this.#bytes;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Access signature in DER format.
|
|
60
|
+
*/
|
|
61
|
+
get der() {
|
|
62
|
+
const bytes = import_Bytes.Bytes.of(this.#bytes);
|
|
63
|
+
const bytesPerComponent = bytes.length / 2;
|
|
64
|
+
return import_DerCodec.DerCodec.encode({
|
|
65
|
+
r: (0, import_DerCodec.DerRawUint)(bytes.slice(0, bytesPerComponent)),
|
|
66
|
+
s: (0, import_DerCodec.DerRawUint)(bytes.slice(bytesPerComponent))
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
((EcdsaSignature2) => {
|
|
71
|
+
EcdsaSignature2.IEEE_P1363 = "ieee-p1363";
|
|
72
|
+
EcdsaSignature2.DER = "der";
|
|
73
|
+
})(EcdsaSignature || (EcdsaSignature = {}));
|
|
74
|
+
//# sourceMappingURL=EcdsaSignature.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/crypto/EcdsaSignature.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAA+C;AAC/C,mBAAsB;AACtB,yBAAuC;AARvC;AAAA;AAAA;AAAA;AAAA;AAmBO,MAAM,eAAe;AAAA,EACxB;AAAA,EAEA,YAAY,OAAc,WAAW,cAAc;AAC/C,QAAI,aAAa,OAAO;AACpB,UAAI;AACA,cAAM,UAAU,yBAAS,OAAO,KAAK;AAErC,cAAM,IAAI,yBAAS,cAAc,SAAS,YAAY,CAAC,GAAG,EAAE;AAC5D,cAAM,IAAI,yBAAS,cAAc,SAAS,YAAY,CAAC,GAAG,EAAE;AAE5D,aAAK,SAAS,mBAAM,OAAO,GAAG,CAAC;AAAA,MACnC,SAAS,OAAO;AACZ,iCAAS,OAAO,KAAK;AAErB,cAAM,IAAI,0CAAuB,kCAAkC,EAAE,MAAM,CAAC;AAAA,MAChF;AAAA,IACJ,OAAO;AAEH,UAAI,MAAM,eAAe,IAAI;AACzB,cAAM,IAAI,0CAAuB,qCAAqC;AAAA,MAC1E;AACA,WAAK,SAAS;AAAA,IAClB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAM;AACN,UAAM,QAAQ,mBAAM,GAAG,KAAK,MAAM;AAClC,UAAM,oBAAoB,MAAM,SAAS;AAEzC,WAAO,yBAAS,OAAO;AAAA,MACnB,OAAG,4BAAW,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAAA,MAC/C,OAAG,4BAAW,MAAM,MAAM,iBAAiB,CAAC;AAAA,IAChD,CAAC;AAAA,EACL;AACJ;AAAA,CAEO,CAAUA,oBAAV;AAMI,EAAMA,gBAAA,aAAa;AAOnB,EAAMA,gBAAA,MAAM;AAAA,GAbN;",
|
|
5
|
+
"names": ["EcdsaSignature"]
|
|
6
|
+
}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
import { Bytes } from "#util/Bytes.js";
|
|
7
7
|
import { MaybePromise } from "#util/Promises.js";
|
|
8
8
|
import { Identity } from "#util/Type.js";
|
|
9
|
-
import { Crypto
|
|
9
|
+
import { Crypto } from "./Crypto.js";
|
|
10
|
+
import { EcdsaSignature } from "./EcdsaSignature.js";
|
|
10
11
|
import { PrivateKey, PublicKey } from "./Key.js";
|
|
11
12
|
import type * as NodeJsCryptoApi from "node:crypto";
|
|
12
13
|
/**
|
|
@@ -42,8 +43,8 @@ export declare class NodeJsStyleCrypto extends Crypto {
|
|
|
42
43
|
createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<Bytes>;
|
|
43
44
|
createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
|
|
44
45
|
signHmac(key: Bytes, data: Bytes): Bytes;
|
|
45
|
-
signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[]
|
|
46
|
-
verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature:
|
|
46
|
+
signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[]): EcdsaSignature;
|
|
47
|
+
verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: EcdsaSignature): void;
|
|
47
48
|
createKeyPair(): PrivateKey;
|
|
48
49
|
generateDhSecret(key: PrivateKey, peerKey: PublicKey): Bytes;
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsStyleCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/NodeJsStyleCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACH,MAAM,
|
|
1
|
+
{"version":3,"file":"NodeJsStyleCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/NodeJsStyleCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACH,MAAM,EAOT,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,KAAK,KAAK,eAAe,MAAM,aAAa,CAAC;AAKpD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;CAAG;AAEhF;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;;IACzC,kBAAkB,SAAa;gBAInB,MAAM,EAAE,mBAAmB;IAMvC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAYlE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAmBvE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAIlC,qBAAqB,IAAI;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;IAMxD,8BAA8B,CAAC,aAAa,EAAE,KAAK,GAAG;QAClD,SAAS,EAAE,KAAK,CAAC;QACjB,YAAY,EAAE,KAAK,CAAC;KACvB;IAiBD,aAAa,CACT,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAClF,YAAY,CAAC,KAAK,CAAC;IAoBtB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAgBjG,aAAa,CACT,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,MAAoC,GAC7C,OAAO,CAAC,KAAK,CAAC;IAgBjB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK;IAMxC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE;IAmBvD,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc;IAezE,aAAa;IAcb,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK;CAM/D"}
|
|
@@ -26,6 +26,7 @@ var import_Bytes = require("#util/Bytes.js");
|
|
|
26
26
|
var import_Error = require("#util/Error.js");
|
|
27
27
|
var import_Crypto = require("./Crypto.js");
|
|
28
28
|
var import_CryptoError = require("./CryptoError.js");
|
|
29
|
+
var import_EcdsaSignature = require("./EcdsaSignature.js");
|
|
29
30
|
var import_Key = require("./Key.js");
|
|
30
31
|
/**
|
|
31
32
|
* @license
|
|
@@ -145,23 +146,25 @@ class NodeJsStyleCrypto extends import_Crypto.Crypto {
|
|
|
145
146
|
hmac.update(import_Bytes.Bytes.of(data));
|
|
146
147
|
return import_Bytes.Bytes.of(hmac.digest());
|
|
147
148
|
}
|
|
148
|
-
signEcdsa(privateKey, data
|
|
149
|
+
signEcdsa(privateKey, data) {
|
|
149
150
|
const signer = this.#crypto.createSign(import_Crypto.CRYPTO_HASH_ALGORITHM);
|
|
150
151
|
if (Array.isArray(data)) {
|
|
151
152
|
data.forEach((chunk) => signer.update(import_Bytes.Bytes.of(chunk)));
|
|
152
153
|
} else {
|
|
153
154
|
signer.update(import_Bytes.Bytes.of(data));
|
|
154
155
|
}
|
|
155
|
-
return
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
156
|
+
return new import_EcdsaSignature.EcdsaSignature(
|
|
157
|
+
import_Bytes.Bytes.of(
|
|
158
|
+
signer.sign({
|
|
159
|
+
key: privateKey,
|
|
160
|
+
format: "jwk",
|
|
161
|
+
type: "pkcs8",
|
|
162
|
+
dsaEncoding: "ieee-p1363"
|
|
163
|
+
})
|
|
164
|
+
)
|
|
162
165
|
);
|
|
163
166
|
}
|
|
164
|
-
verifyEcdsa(publicKey, data, signature
|
|
167
|
+
verifyEcdsa(publicKey, data, signature) {
|
|
165
168
|
const verifier = this.#crypto.createVerify(import_Crypto.CRYPTO_HASH_ALGORITHM);
|
|
166
169
|
verifier.update(import_Bytes.Bytes.of(data));
|
|
167
170
|
const success = verifier.verify(
|
|
@@ -169,9 +172,9 @@ class NodeJsStyleCrypto extends import_Crypto.Crypto {
|
|
|
169
172
|
key: publicKey,
|
|
170
173
|
format: "jwk",
|
|
171
174
|
type: "spki",
|
|
172
|
-
dsaEncoding
|
|
175
|
+
dsaEncoding: "ieee-p1363"
|
|
173
176
|
},
|
|
174
|
-
import_Bytes.Bytes.of(signature)
|
|
177
|
+
import_Bytes.Bytes.of(signature.bytes)
|
|
175
178
|
);
|
|
176
179
|
if (!success) throw new import_CryptoError.CryptoVerifyError("Signature verification failed");
|
|
177
180
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/NodeJsStyleCrypto.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AACpC,mBAAsB;AACtB,mBAAwB;AAGxB,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AACpC,mBAAsB;AACtB,mBAAwB;AAGxB,oBAQO;AACP,yBAAsD;AACtD,4BAA+B;AAC/B,iBAAsC;AAtBtC;AAAA;AAAA;AAAA;AAAA;AA4CO,MAAM,0BAA0B,qBAAO;AAAA,EAC1C,qBAAqB;AAAA,EAErB;AAAA,EAEA,YAAY,QAA6B;AACrC,UAAM;AAEN,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,QAAQ,KAAY,MAAa,OAAc,KAAoB;AAC/D,UAAM,SAAS,KAAK,QAAQ,eAAe,wCAA0B,mBAAM,GAAG,GAAG,GAAG,mBAAM,GAAG,KAAK,GAAG;AAAA,MACjG,eAAe;AAAA,IACnB,CAAC;AACD,QAAI,QAAQ,QAAW;AACnB,aAAO,OAAO,mBAAM,GAAG,GAAG,GAAG,EAAE,iBAAiB,KAAK,WAAW,CAAC;AAAA,IACrE;AACA,UAAM,YAAY,OAAO,OAAO,mBAAM,GAAG,IAAI,CAAC;AAC9C,WAAO,MAAM;AACb,WAAO,mBAAM,OAAO,mBAAM,GAAG,SAAS,GAAG,mBAAM,GAAG,OAAO,WAAW,CAAC,CAAC;AAAA,EAC1E;AAAA,EAEA,QAAQ,KAAY,WAAkB,OAAc,KAAoB;AACpE,UAAM,SAAS,KAAK,QAAQ,iBAAiB,wCAA0B,mBAAM,GAAG,GAAG,GAAG,mBAAM,GAAG,KAAK,GAAG;AAAA,MACnG,eAAe;AAAA,IACnB,CAAC;AACD,UAAM,OAAO,mBAAM,GAAG,SAAS;AAC/B,UAAM,kBAAkB,KAAK,SAAS;AACtC,QAAI,QAAQ,QAAW;AACnB,aAAO,OAAO,mBAAM,GAAG,GAAG,GAAG,EAAE,gBAAgB,CAAC;AAAA,IACpD;AACA,WAAO,WAAW,KAAK,MAAM,eAAe,CAAC;AAC7C,UAAM,SAAS,OAAO,OAAO,KAAK,MAAM,GAAG,eAAe,CAAC;AAC3D,QAAI;AACA,aAAO,MAAM;AAAA,IACjB,SAAS,GAAG;AACR,YAAM,IAAI,sCAAmB,GAAG,sCAAwB,2BAAuB,sBAAQ,CAAC,EAAE,OAAO,EAAE;AAAA,IACvG;AACA,WAAO,mBAAM,GAAG,MAAM;AAAA,EAC1B;AAAA,EAEA,YAAY,QAAuB;AAC/B,WAAO,mBAAM,GAAG,KAAK,QAAQ,YAAY,MAAM,CAAC;AAAA,EACpD;AAAA,EAEA,wBAAyD;AACrD,UAAM,OAAO,KAAK,QAAQ,WAAW,6BAAe;AACpD,SAAK,aAAa;AAClB,WAAO,EAAE,WAAW,mBAAM,GAAG,KAAK,aAAa,CAAC,GAAG,KAAW;AAAA,EAClE;AAAA,EAEA,+BAA+B,eAG7B;AACE,UAAM,OAAO,KAAK,QAAQ,WAAW,6BAAe;AACpD,SAAK,aAAa;AAClB,WAAO;AAAA,MACH,WAAW,mBAAM,GAAG,KAAK,aAAa,CAAC;AAAA,MACvC,cAAc,mBAAM,GAAG,KAAK,cAAc,mBAAM,GAAG,aAAa,CAAC,CAAC;AAAA,IACtE;AAAA,EACJ;AAAA,EAEA,MAAM,uBAAuB,QAA8B,cAAoD;AAC3G,WAAO,MAAM;AACT,YAAM,EAAE,OAAO,KAAK,IAAI,MAAM,aAAa;AAC3C,UAAI,UAAU,UAAa,KAAM;AACjC,aAAO,OAAO,mBAAM,GAAG,KAAK,CAAC;AAAA,IACjC;AAAA,EACJ;AAAA,EAEA,cACI,MACmB;AACnB,UAAM,SAAS,KAAK,QAAQ,WAAW,mCAAqB;AAC5D,QAAI,MAAM,QAAQ,IAAI,GAAG;AACrB,WAAK,QAAQ,WAAS,OAAO,OAAO,mBAAM,GAAG,KAAK,CAAC,CAAC;AAAA,IACxD,WAAW,mBAAM,QAAQ,IAAI,GAAG;AAC5B,aAAO,OAAO,mBAAM,GAAG,IAAI,CAAC;AAAA,IAChC,OAAO;AACH,UAAI;AACJ,UAAI,UAAU,QAAQ,OAAO,KAAK,SAAS,YAAY;AACnD,uBAAe,KAAK,KAAK,KAAK,IAAI;AAAA,MACtC,WAAW,UAAU,QAAQ,OAAO,KAAK,SAAS,YAAY;AAC1D,uBAAe,KAAK,KAAK,KAAK,IAAI;AAAA,MACtC,OAAO;AACH,cAAM,IAAI,uCAAoB,qCAAqC;AAAA,MACvE;AACA,aAAO,KAAK,uBAAuB,QAAQ,YAAY,EAAE,KAAK,MAAM,mBAAM,GAAG,OAAO,OAAO,CAAC,CAAC;AAAA,IACjG;AACA,WAAO,mBAAM,GAAG,OAAO,OAAO,CAAC;AAAA,EACnC;AAAA,EAEA,gBAAgB,QAAe,MAAa,WAAmB,WAAmC;AAC9F,WAAO,IAAI,QAAe,CAAC,UAAU,aAAa;AAC9C,WAAK,QAAQ;AAAA,QACT,mBAAM,GAAG,MAAM;AAAA,QACf,mBAAM,GAAG,IAAI;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,CAAC,OAAO,QAAQ;AACZ,cAAI,UAAU,KAAM,UAAS,KAAK;AAClC,mBAAS,mBAAM,GAAG,GAAG,CAAC;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,cACI,QACA,MACA,MACA,SAAiB,2CACH;AACd,WAAO,IAAI,QAAe,CAAC,UAAU,aAAa;AAC9C,WAAK,QAAQ;AAAA,QACT;AAAA,QACA,mBAAM,GAAG,MAAM;AAAA,QACf,mBAAM,GAAG,IAAI;AAAA,QACb,mBAAM,GAAG,IAAI;AAAA,QACb;AAAA,QACA,CAAC,OAAO,QAAQ;AACZ,cAAI,UAAU,KAAM,UAAS,KAAK;AAClC,mBAAS,mBAAM,GAAG,GAAG,CAAC;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,SAAS,KAAY,MAAoB;AACrC,UAAM,OAAO,KAAK,QAAQ,WAAW,qCAAuB,mBAAM,GAAG,GAAG,CAAC;AACzE,SAAK,OAAO,mBAAM,GAAG,IAAI,CAAC;AAC1B,WAAO,mBAAM,GAAG,KAAK,OAAO,CAAC;AAAA,EACjC;AAAA,EAEA,UAAU,YAAwB,MAAuB;AACrD,UAAM,SAAS,KAAK,QAAQ,WAAW,mCAAqB;AAC5D,QAAI,MAAM,QAAQ,IAAI,GAAG;AACrB,WAAK,QAAQ,WAAS,OAAO,OAAO,mBAAM,GAAG,KAAK,CAAC,CAAC;AAAA,IACxD,OAAO;AACH,aAAO,OAAO,mBAAM,GAAG,IAAI,CAAC;AAAA,IAChC;AACA,WAAO,IAAI;AAAA,MACP,mBAAM;AAAA,QACF,OAAO,KAAK;AAAA,UACR,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,aAAa;AAAA,QACjB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,YAAY,WAAuB,MAAa,WAA2B;AACvE,UAAM,WAAW,KAAK,QAAQ,aAAa,mCAAqB;AAChE,aAAS,OAAO,mBAAM,GAAG,IAAI,CAAC;AAC9B,UAAM,UAAU,SAAS;AAAA,MACrB;AAAA,QACI,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,aAAa;AAAA,MACjB;AAAA,MACA,mBAAM,GAAG,UAAU,KAAK;AAAA,IAC5B;AACA,QAAI,CAAC,QAAS,OAAM,IAAI,qCAAkB,+BAA+B;AAAA,EAC7E;AAAA,EAEA,gBAAgB;AAEZ,UAAM,OAAO,KAAK,QAAQ,WAAW,6BAAe;AACpD,SAAK,aAAa;AAIlB,UAAM,aAAa,IAAI,WAAW,iCAAmB;AACrD,UAAM,iBAAiB,KAAK,cAAc;AAC1C,eAAW,IAAI,gBAAgB,oCAAsB,eAAe,MAAM;AAE1E,eAAO,uBAAW,YAAY,EAAE,WAAW,mBAAM,GAAG,KAAK,aAAa,CAAC,EAAE,CAAC;AAAA,EAC9E;AAAA,EAEA,iBAAiB,KAAiB,SAA2B;AACzD,UAAM,OAAO,KAAK,QAAQ,WAAW,6BAAe;AACpD,SAAK,cAAc,mBAAM,GAAG,IAAI,WAAW,CAAC;AAE5C,WAAO,mBAAM,GAAG,KAAK,cAAc,mBAAM,GAAG,QAAQ,UAAU,CAAC,CAAC;AAAA,EACpE;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Bytes } from "#util/Bytes.js";
|
|
8
8
|
import { MaybePromise } from "#util/Promises.js";
|
|
9
|
-
import { Crypto
|
|
9
|
+
import { Crypto } from "./Crypto.js";
|
|
10
|
+
import { EcdsaSignature } from "./EcdsaSignature.js";
|
|
10
11
|
import { PrivateKey, PublicKey } from "./Key.js";
|
|
11
12
|
import { WebCrypto } from "./WebCrypto.js";
|
|
12
13
|
/**
|
|
@@ -31,8 +32,8 @@ export declare class StandardCrypto extends Crypto {
|
|
|
31
32
|
createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<ArrayBuffer>;
|
|
32
33
|
createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
|
|
33
34
|
signHmac(secret: Bytes, data: Bytes): MaybePromise<Bytes>;
|
|
34
|
-
signEcdsa(key: JsonWebKey, data: Bytes | Bytes[]
|
|
35
|
-
verifyEcdsa(key: JsonWebKey, data: Bytes, signature:
|
|
35
|
+
signEcdsa(key: JsonWebKey, data: Bytes | Bytes[]): Promise<EcdsaSignature>;
|
|
36
|
+
verifyEcdsa(key: JsonWebKey, data: Bytes, signature: EcdsaSignature): Promise<void>;
|
|
36
37
|
createKeyPair(): Promise<PrivateKey>;
|
|
37
38
|
protected generateJwk(): Promise<JsonWebKey>;
|
|
38
39
|
generateDhSecret(key: PrivateKey, peerKey: PublicKey): Promise<Bytes>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAA+B,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAA2B,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuB3C;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,MAAM;;IACtC,kBAAkB,SAAQ;gBAId,MAAM,GAAE,SAA6B;IAYjD,SAAS,KAAK,MAAM,iBAEnB;IAED,MAAM,CAAC,QAAQ;IAIf,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAMlC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK;IASrE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK;IASrE,aAAa,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;IAU3F,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAchF,aAAa,CACf,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,MAAoC,GAC7C,OAAO,CAAC,KAAK,CAAC;IAcjB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAMnD,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE;IAwBhD,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc;IAiBnE,aAAa;cAaH,WAAW;IAkBrB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;cAiC3D,SAAS,CACrB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,GAAG,KAAK,EAC3B,SAAS,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,EAC/G,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;CAQzC"}
|
|
@@ -21,7 +21,6 @@ __export(StandardCrypto_exports, {
|
|
|
21
21
|
StandardCrypto: () => StandardCrypto
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(StandardCrypto_exports);
|
|
24
|
-
var import_DerCodec = require("#codec/DerCodec.js");
|
|
25
24
|
var import_Environment = require("#environment/Environment.js");
|
|
26
25
|
var import_MatterError = require("#MatterError.js");
|
|
27
26
|
var import_Bytes = require("#util/Bytes.js");
|
|
@@ -30,6 +29,7 @@ var import_String = require("#util/String.js");
|
|
|
30
29
|
var import_Ccm = require("./aes/Ccm.js");
|
|
31
30
|
var import_Crypto = require("./Crypto.js");
|
|
32
31
|
var import_CryptoError = require("./CryptoError.js");
|
|
32
|
+
var import_EcdsaSignature = require("./EcdsaSignature.js");
|
|
33
33
|
var import_Key = require("./Key.js");
|
|
34
34
|
/**
|
|
35
35
|
* @license
|
|
@@ -131,7 +131,7 @@ class StandardCrypto extends import_Crypto.Crypto {
|
|
|
131
131
|
(key) => this.#subtle.sign("HMAC", key, import_Bytes.Bytes.exclusive(data))
|
|
132
132
|
);
|
|
133
133
|
}
|
|
134
|
-
async signEcdsa(key, data
|
|
134
|
+
async signEcdsa(key, data) {
|
|
135
135
|
if (Array.isArray(data)) {
|
|
136
136
|
data = import_Bytes.Bytes.concat(...data);
|
|
137
137
|
}
|
|
@@ -148,32 +148,16 @@ class StandardCrypto extends import_Crypto.Crypto {
|
|
|
148
148
|
};
|
|
149
149
|
const subtleKey = await this.importKey("jwk", key, SIGNATURE_ALGORITHM, false, ["sign"]);
|
|
150
150
|
const ieeeP1363 = import_Bytes.Bytes.of(await this.#subtle.sign(SIGNATURE_ALGORITHM, subtleKey, import_Bytes.Bytes.exclusive(data)));
|
|
151
|
-
|
|
152
|
-
const bytesPerComponent = ieeeP1363.byteLength / 2;
|
|
153
|
-
return import_DerCodec.DerCodec.encode({
|
|
154
|
-
r: (0, import_DerCodec.DerBigUint)(ieeeP1363.slice(0, bytesPerComponent)),
|
|
155
|
-
s: (0, import_DerCodec.DerBigUint)(ieeeP1363.slice(bytesPerComponent))
|
|
156
|
-
});
|
|
151
|
+
return new import_EcdsaSignature.EcdsaSignature(ieeeP1363);
|
|
157
152
|
}
|
|
158
|
-
async verifyEcdsa(key, data, signature
|
|
153
|
+
async verifyEcdsa(key, data, signature) {
|
|
159
154
|
const { crv, kty, x, y } = key;
|
|
160
155
|
key = { crv, kty, x, y };
|
|
161
156
|
const subtleKey = await this.importKey("jwk", key, SIGNATURE_ALGORITHM, false, ["verify"]);
|
|
162
|
-
if (dsaEncoding === "der") {
|
|
163
|
-
try {
|
|
164
|
-
const decoded = import_DerCodec.DerCodec.decode(signature);
|
|
165
|
-
const r = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[0], 32);
|
|
166
|
-
const s = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[1], 32);
|
|
167
|
-
signature = import_Bytes.Bytes.concat(r, s);
|
|
168
|
-
} catch (cause) {
|
|
169
|
-
import_DerCodec.DerError.accept(cause);
|
|
170
|
-
throw new import_CryptoError.CryptoVerifyError("Invalid DER signature", { cause });
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
157
|
const verified = await this.#subtle.verify(
|
|
174
158
|
SIGNATURE_ALGORITHM,
|
|
175
159
|
subtleKey,
|
|
176
|
-
import_Bytes.Bytes.exclusive(signature),
|
|
160
|
+
import_Bytes.Bytes.exclusive(signature.bytes),
|
|
177
161
|
import_Bytes.Bytes.exclusive(data)
|
|
178
162
|
);
|
|
179
163
|
if (!verified) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/StandardCrypto.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["name"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
|
package/dist/cjs/crypto/index.js
CHANGED
|
@@ -18,6 +18,7 @@ module.exports = __toCommonJS(crypto_exports);
|
|
|
18
18
|
__reExport(crypto_exports, require("./Crypto.js"), module.exports);
|
|
19
19
|
__reExport(crypto_exports, require("./CryptoConstants.js"), module.exports);
|
|
20
20
|
__reExport(crypto_exports, require("./CryptoError.js"), module.exports);
|
|
21
|
+
__reExport(crypto_exports, require("./EcdsaSignature.js"), module.exports);
|
|
21
22
|
__reExport(crypto_exports, require("./Key.js"), module.exports);
|
|
22
23
|
__reExport(crypto_exports, require("./MockCrypto.js"), module.exports);
|
|
23
24
|
__reExport(crypto_exports, require("./NodeJsStyleCrypto.js"), module.exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,wBANd;AAOA,2BAAc,iCAPd;AAQA,2BAAc,6BARd;AASA,2BAAc,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,wBANd;AAOA,2BAAc,iCAPd;AAQA,2BAAc,6BARd;AASA,2BAAc,gCATd;AAUA,2BAAc,qBAVd;AAWA,2BAAc,4BAXd;AAYA,2BAAc,mCAZd;AAaA,2BAAc,yBAbd;AAcA,2BAAc,gCAdd;AAeA,2BAAc,2BAfd;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -57,7 +57,12 @@ export declare const DatatypeOverride: (type: DerType, value: any) => {
|
|
|
57
57
|
export declare const RawBytes: (bytes: Bytes) => {
|
|
58
58
|
_bytes: AllowSharedBufferSource;
|
|
59
59
|
};
|
|
60
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Optimized path for encoding raw bytes that represent an unsigned integer.
|
|
62
|
+
*
|
|
63
|
+
* This allows to avoid e.g. round tripping a 256-bit number through a bigint when encoding.
|
|
64
|
+
*/
|
|
65
|
+
export declare const DerRawUint: (number: Bytes) => {
|
|
61
66
|
_tag: DerType;
|
|
62
67
|
_bytes: AllowSharedBufferSource;
|
|
63
68
|
};
|