@matter/general 0.14.1-alpha.0-20250607-a93593303 → 0.15.0-alpha.0-20250613-a55f991d4
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 +12 -17
- package/dist/cjs/codec/DerCodec.d.ts.map +1 -1
- package/dist/cjs/codec/DerCodec.js +90 -51
- package/dist/cjs/codec/DerCodec.js.map +1 -1
- package/dist/cjs/codec/DerTypes.js +1 -1
- package/dist/cjs/codec/DnsCodec.d.ts +5 -5
- package/dist/cjs/crypto/Crypto.d.ts +111 -62
- package/dist/cjs/crypto/Crypto.d.ts.map +1 -1
- package/dist/cjs/crypto/Crypto.js +92 -31
- package/dist/cjs/crypto/Crypto.js.map +1 -1
- package/dist/cjs/crypto/CryptoError.d.ts +32 -0
- package/dist/cjs/crypto/CryptoError.d.ts.map +1 -0
- package/dist/cjs/crypto/CryptoError.js +44 -0
- package/dist/cjs/crypto/CryptoError.js.map +6 -0
- package/dist/cjs/crypto/Key.d.ts +2 -2
- package/dist/cjs/crypto/Key.d.ts.map +1 -1
- package/dist/cjs/crypto/Key.js +15 -16
- package/dist/cjs/crypto/Key.js.map +1 -1
- package/dist/cjs/crypto/Spake2p.js +5 -5
- package/dist/cjs/crypto/Spake2p.js.map +1 -1
- package/dist/cjs/crypto/StandardCrypto.d.ts +33 -0
- package/dist/cjs/crypto/StandardCrypto.d.ts.map +1 -0
- package/dist/cjs/crypto/StandardCrypto.js +208 -0
- package/dist/cjs/crypto/StandardCrypto.js.map +6 -0
- package/dist/cjs/crypto/aes/Aes.d.ts +21 -0
- package/dist/cjs/crypto/aes/Aes.d.ts.map +1 -0
- package/dist/cjs/crypto/aes/Aes.js +132 -0
- package/dist/cjs/crypto/aes/Aes.js.map +6 -0
- package/dist/cjs/crypto/aes/Ccm.d.ts +71 -0
- package/dist/cjs/crypto/aes/Ccm.d.ts.map +1 -0
- package/dist/cjs/crypto/aes/Ccm.js +194 -0
- package/dist/cjs/crypto/aes/Ccm.js.map +6 -0
- package/dist/cjs/crypto/aes/WordArray.d.ts +30 -0
- package/dist/cjs/crypto/aes/WordArray.d.ts.map +1 -0
- package/dist/cjs/crypto/aes/WordArray.js +91 -0
- package/dist/cjs/crypto/aes/WordArray.js.map +6 -0
- package/dist/cjs/crypto/index.d.ts +3 -0
- package/dist/cjs/crypto/index.d.ts.map +1 -1
- package/dist/cjs/crypto/index.js +3 -0
- package/dist/cjs/crypto/index.js.map +1 -1
- package/dist/cjs/crypto/nonentropic.d.ts +16 -0
- package/dist/cjs/crypto/nonentropic.d.ts.map +1 -0
- package/dist/cjs/crypto/nonentropic.js +70 -0
- package/dist/cjs/crypto/nonentropic.js.map +6 -0
- package/dist/cjs/environment/Environment.d.ts.map +1 -1
- package/dist/cjs/environment/Environment.js +1 -5
- package/dist/cjs/environment/Environment.js.map +1 -1
- package/dist/cjs/environment/RuntimeService.d.ts +2 -4
- package/dist/cjs/environment/RuntimeService.d.ts.map +1 -1
- package/dist/cjs/environment/RuntimeService.js +4 -4
- package/dist/cjs/environment/RuntimeService.js.map +1 -1
- package/dist/cjs/environment/VariableService.d.ts.map +1 -1
- package/dist/cjs/environment/VariableService.js +1 -0
- package/dist/cjs/environment/VariableService.js.map +1 -1
- package/dist/cjs/log/LogFormat.js +17 -11
- package/dist/cjs/log/LogFormat.js.map +1 -1
- package/dist/cjs/net/Network.d.ts +0 -1
- package/dist/cjs/net/Network.d.ts.map +1 -1
- package/dist/cjs/net/Network.js +0 -4
- package/dist/cjs/net/Network.js.map +1 -1
- package/dist/cjs/time/Time.d.ts.map +1 -1
- package/dist/cjs/time/Time.js +2 -2
- package/dist/cjs/time/Time.js.map +1 -1
- package/dist/cjs/util/Bytes.d.ts +6 -0
- package/dist/cjs/util/Bytes.d.ts.map +1 -1
- package/dist/cjs/util/Bytes.js +15 -1
- package/dist/cjs/util/Bytes.js.map +1 -1
- package/dist/cjs/util/DataWriter.d.ts +1 -1
- package/dist/cjs/util/DataWriter.js +2 -2
- package/dist/cjs/util/DataWriter.js.map +1 -1
- package/dist/cjs/util/DeepCopy.js +1 -1
- package/dist/cjs/util/DeepCopy.js.map +1 -1
- package/dist/cjs/util/GeneratedClass.d.ts +3 -3
- package/dist/cjs/util/GeneratedClass.d.ts.map +1 -1
- package/dist/cjs/util/GeneratedClass.js +99 -73
- package/dist/cjs/util/GeneratedClass.js.map +2 -2
- package/dist/cjs/util/Number.d.ts +0 -1
- package/dist/cjs/util/Number.d.ts.map +1 -1
- package/dist/cjs/util/Number.js +0 -4
- package/dist/cjs/util/Number.js.map +1 -1
- package/dist/esm/codec/DerCodec.d.ts +12 -17
- package/dist/esm/codec/DerCodec.d.ts.map +1 -1
- package/dist/esm/codec/DerCodec.js +90 -51
- package/dist/esm/codec/DerCodec.js.map +1 -1
- package/dist/esm/codec/DerTypes.js +2 -2
- package/dist/esm/codec/DnsCodec.d.ts +5 -5
- package/dist/esm/crypto/Crypto.d.ts +111 -62
- package/dist/esm/crypto/Crypto.d.ts.map +1 -1
- package/dist/esm/crypto/Crypto.js +93 -32
- package/dist/esm/crypto/Crypto.js.map +1 -1
- package/dist/esm/crypto/CryptoError.d.ts +32 -0
- package/dist/esm/crypto/CryptoError.d.ts.map +1 -0
- package/dist/esm/crypto/CryptoError.js +24 -0
- package/dist/esm/crypto/CryptoError.js.map +6 -0
- package/dist/esm/crypto/Key.d.ts +2 -2
- package/dist/esm/crypto/Key.d.ts.map +1 -1
- package/dist/esm/crypto/Key.js +15 -16
- package/dist/esm/crypto/Key.js.map +1 -1
- package/dist/esm/crypto/Spake2p.js +5 -5
- package/dist/esm/crypto/Spake2p.js.map +1 -1
- package/dist/esm/crypto/StandardCrypto.d.ts +33 -0
- package/dist/esm/crypto/StandardCrypto.d.ts.map +1 -0
- package/dist/esm/crypto/StandardCrypto.js +188 -0
- package/dist/esm/crypto/StandardCrypto.js.map +6 -0
- package/dist/esm/crypto/aes/Aes.d.ts +21 -0
- package/dist/esm/crypto/aes/Aes.d.ts.map +1 -0
- package/dist/esm/crypto/aes/Aes.js +112 -0
- package/dist/esm/crypto/aes/Aes.js.map +6 -0
- package/dist/esm/crypto/aes/Ccm.d.ts +71 -0
- package/dist/esm/crypto/aes/Ccm.d.ts.map +1 -0
- package/dist/esm/crypto/aes/Ccm.js +174 -0
- package/dist/esm/crypto/aes/Ccm.js.map +6 -0
- package/dist/esm/crypto/aes/WordArray.d.ts +30 -0
- package/dist/esm/crypto/aes/WordArray.d.ts.map +1 -0
- package/dist/esm/crypto/aes/WordArray.js +71 -0
- package/dist/esm/crypto/aes/WordArray.js.map +6 -0
- package/dist/esm/crypto/index.d.ts +3 -0
- package/dist/esm/crypto/index.d.ts.map +1 -1
- package/dist/esm/crypto/index.js +3 -0
- package/dist/esm/crypto/index.js.map +1 -1
- package/dist/esm/crypto/nonentropic.d.ts +16 -0
- package/dist/esm/crypto/nonentropic.d.ts.map +1 -0
- package/dist/esm/crypto/nonentropic.js +50 -0
- package/dist/esm/crypto/nonentropic.js.map +6 -0
- package/dist/esm/environment/Environment.d.ts.map +1 -1
- package/dist/esm/environment/Environment.js +1 -5
- package/dist/esm/environment/Environment.js.map +1 -1
- package/dist/esm/environment/RuntimeService.d.ts +2 -4
- package/dist/esm/environment/RuntimeService.d.ts.map +1 -1
- package/dist/esm/environment/RuntimeService.js +4 -4
- package/dist/esm/environment/RuntimeService.js.map +1 -1
- package/dist/esm/environment/VariableService.d.ts.map +1 -1
- package/dist/esm/environment/VariableService.js +1 -0
- package/dist/esm/environment/VariableService.js.map +1 -1
- package/dist/esm/log/LogFormat.js +17 -11
- package/dist/esm/log/LogFormat.js.map +1 -1
- package/dist/esm/net/Network.d.ts +0 -1
- package/dist/esm/net/Network.d.ts.map +1 -1
- package/dist/esm/net/Network.js +1 -5
- package/dist/esm/net/Network.js.map +1 -1
- package/dist/esm/time/Time.d.ts.map +1 -1
- package/dist/esm/time/Time.js +2 -2
- package/dist/esm/time/Time.js.map +1 -1
- package/dist/esm/util/Bytes.d.ts +6 -0
- package/dist/esm/util/Bytes.d.ts.map +1 -1
- package/dist/esm/util/Bytes.js +15 -1
- package/dist/esm/util/Bytes.js.map +1 -1
- package/dist/esm/util/DataWriter.d.ts +1 -1
- package/dist/esm/util/DataWriter.js +3 -3
- package/dist/esm/util/DataWriter.js.map +1 -1
- package/dist/esm/util/DeepCopy.js +1 -1
- package/dist/esm/util/DeepCopy.js.map +1 -1
- package/dist/esm/util/GeneratedClass.d.ts +3 -3
- package/dist/esm/util/GeneratedClass.d.ts.map +1 -1
- package/dist/esm/util/GeneratedClass.js +97 -71
- package/dist/esm/util/GeneratedClass.js.map +2 -2
- package/dist/esm/util/Number.d.ts +0 -1
- package/dist/esm/util/Number.d.ts.map +1 -1
- package/dist/esm/util/Number.js +0 -4
- package/dist/esm/util/Number.js.map +1 -1
- package/package.json +3 -3
- package/src/codec/DerCodec.ts +106 -52
- package/src/codec/DerTypes.ts +2 -2
- package/src/crypto/Crypto.ts +196 -76
- package/src/crypto/CryptoError.ts +32 -0
- package/src/crypto/Key.ts +17 -18
- package/src/crypto/Spake2p.ts +5 -5
- package/src/crypto/StandardCrypto.ts +252 -0
- package/src/crypto/aes/Aes.ts +210 -0
- package/src/crypto/aes/Ccm.ts +350 -0
- package/src/crypto/aes/README.md +4 -0
- package/src/crypto/aes/WordArray.ts +105 -0
- package/src/crypto/index.ts +3 -0
- package/src/crypto/nonentropic.ts +65 -0
- package/src/environment/Environment.ts +1 -6
- package/src/environment/RuntimeService.ts +5 -5
- package/src/environment/VariableService.ts +1 -0
- package/src/log/LogFormat.ts +19 -11
- package/src/net/Network.ts +1 -7
- package/src/time/Time.ts +4 -4
- package/src/util/Bytes.ts +19 -0
- package/src/util/DataWriter.ts +3 -3
- package/src/util/DeepCopy.ts +2 -2
- package/src/util/GeneratedClass.ts +161 -102
- package/src/util/Number.ts +0 -4
|
@@ -36,14 +36,14 @@ export declare const ObjectId: (objectId: string) => {
|
|
|
36
36
|
_bytes: Uint8Array<ArrayBuffer>;
|
|
37
37
|
};
|
|
38
38
|
export declare const DerObject: (objectId: string, content?: any) => any;
|
|
39
|
-
export declare const
|
|
39
|
+
export declare const DerBitString: (data: Uint8Array, padding?: number) => {
|
|
40
40
|
_tag: number;
|
|
41
41
|
_bytes: Uint8Array<ArrayBufferLike>;
|
|
42
42
|
_padding: number;
|
|
43
43
|
};
|
|
44
44
|
export declare const ContextTagged: (tagId: number, value?: any) => {
|
|
45
45
|
_tag: number;
|
|
46
|
-
_bytes: Uint8Array<
|
|
46
|
+
_bytes: Uint8Array<ArrayBuffer>;
|
|
47
47
|
};
|
|
48
48
|
export declare const ContextTaggedBytes: (tagId: number, value: Uint8Array) => {
|
|
49
49
|
_tag: number;
|
|
@@ -56,6 +56,10 @@ export declare const DatatypeOverride: (type: DerType, value: any) => {
|
|
|
56
56
|
export declare const RawBytes: (bytes: Uint8Array) => {
|
|
57
57
|
_bytes: Uint8Array<ArrayBufferLike>;
|
|
58
58
|
};
|
|
59
|
+
export declare const DerBigUint: (number: Uint8Array | ArrayBuffer) => {
|
|
60
|
+
_tag: DerType;
|
|
61
|
+
_bytes: ArrayBuffer | Uint8Array<ArrayBufferLike>;
|
|
62
|
+
};
|
|
59
63
|
export type DerNode = {
|
|
60
64
|
[DerKey.TagId]: number;
|
|
61
65
|
[DerKey.Bytes]: Uint8Array;
|
|
@@ -63,21 +67,12 @@ export type DerNode = {
|
|
|
63
67
|
[DerKey.BitsPadding]?: number;
|
|
64
68
|
};
|
|
65
69
|
export declare class DerCodec {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
private static encodeBoolean;
|
|
69
|
-
private static encodeArray;
|
|
70
|
-
private static encodeOctetString;
|
|
71
|
-
private static encodeObject;
|
|
72
|
-
private static encodeString;
|
|
73
|
-
private static encodePrintableString;
|
|
74
|
-
private static encodeIA5String;
|
|
75
|
-
private static encodeInteger;
|
|
76
|
-
private static encodeBitString;
|
|
77
|
-
private static encodeLengthBytes;
|
|
78
|
-
private static encodeAsn1;
|
|
70
|
+
#private;
|
|
71
|
+
static encode(value: unknown): Uint8Array;
|
|
79
72
|
static decode(data: Uint8Array): DerNode;
|
|
80
|
-
|
|
81
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Extract a large integer value to a byte array with a specific number of bytes.
|
|
75
|
+
*/
|
|
76
|
+
static decodeBigUint(value: DerNode | undefined, byteLength: number): Uint8Array<ArrayBuffer>;
|
|
82
77
|
}
|
|
83
78
|
//# sourceMappingURL=DerCodec.d.ts.map
|
|
@@ -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;AAMxD,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,UAAU,EAAE,gBAAW;UACjB,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,UAAU;;;CAGjE,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,UAAU;;CAExC,CAAC;
|
|
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;AAMxD,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,UAAU,EAAE,gBAAW;UACjB,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,UAAU;;;CAGjE,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,UAAU;;CAExC,CAAC;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU,GAAG,WAAW;;;CAgB1D,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC3B,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,UAAU;IAuEzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAIxC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM;CA6KtE"}
|
|
@@ -18,10 +18,11 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var DerCodec_exports = {};
|
|
20
20
|
__export(DerCodec_exports, {
|
|
21
|
-
BitByteArray: () => BitByteArray,
|
|
22
21
|
ContextTagged: () => ContextTagged,
|
|
23
22
|
ContextTaggedBytes: () => ContextTaggedBytes,
|
|
24
23
|
DatatypeOverride: () => DatatypeOverride,
|
|
24
|
+
DerBigUint: () => DerBigUint,
|
|
25
|
+
DerBitString: () => DerBitString,
|
|
25
26
|
DerCodec: () => DerCodec,
|
|
26
27
|
DerError: () => DerError,
|
|
27
28
|
DerKey: () => DerKey,
|
|
@@ -86,7 +87,7 @@ const DerObject = (objectId, content = {}) => ({
|
|
|
86
87
|
["_objectId" /* ObjectId */]: ObjectId(objectId),
|
|
87
88
|
...content
|
|
88
89
|
});
|
|
89
|
-
const
|
|
90
|
+
const DerBitString = (data, padding = 0) => ({
|
|
90
91
|
["_tag" /* TagId */]: 3 /* BitString */,
|
|
91
92
|
["_bytes" /* Bytes */]: data,
|
|
92
93
|
["_padding" /* BitsPadding */]: padding
|
|
@@ -106,20 +107,32 @@ const DatatypeOverride = (type, value) => ({
|
|
|
106
107
|
const RawBytes = (bytes) => ({
|
|
107
108
|
["_bytes" /* Bytes */]: bytes
|
|
108
109
|
});
|
|
110
|
+
const DerBigUint = (number) => {
|
|
111
|
+
if (!ArrayBuffer.isView(number)) {
|
|
112
|
+
number = new Uint8Array(number);
|
|
113
|
+
}
|
|
114
|
+
if (number[0] & 128) {
|
|
115
|
+
number = import_Bytes.Bytes.concat(new Uint8Array([0]), number);
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
["_tag" /* TagId */]: 2 /* Integer */,
|
|
119
|
+
["_bytes" /* Bytes */]: number
|
|
120
|
+
};
|
|
121
|
+
};
|
|
109
122
|
class DerCodec {
|
|
110
123
|
static encode(value) {
|
|
111
124
|
if (Array.isArray(value)) {
|
|
112
|
-
return this
|
|
125
|
+
return this.#encodeArray(value);
|
|
113
126
|
} else if (value instanceof Uint8Array) {
|
|
114
|
-
return this
|
|
127
|
+
return this.#encodeOctetString(value);
|
|
115
128
|
} else if (value instanceof Date) {
|
|
116
|
-
return this
|
|
129
|
+
return this.#encodeDate(value);
|
|
117
130
|
} else if (typeof value === "string") {
|
|
118
|
-
return this
|
|
131
|
+
return this.#encodeString(value);
|
|
119
132
|
} else if (typeof value === "number" || typeof value === "bigint") {
|
|
120
|
-
return this
|
|
133
|
+
return this.#encodeInteger(value);
|
|
121
134
|
} else if (typeof value === "boolean") {
|
|
122
|
-
return this
|
|
135
|
+
return this.#encodeBoolean(value);
|
|
123
136
|
} else if (value === void 0) {
|
|
124
137
|
return new Uint8Array(0);
|
|
125
138
|
} else if ((0, import_Type.isObject)(value)) {
|
|
@@ -134,81 +147,110 @@ class DerCodec {
|
|
|
134
147
|
if (bytes === void 0 || !ArrayBuffer.isView(bytes)) {
|
|
135
148
|
throw new DerError("DER bytes is not a byte array");
|
|
136
149
|
}
|
|
137
|
-
return this
|
|
150
|
+
return this.#encodeAsn1(
|
|
138
151
|
tagId,
|
|
139
152
|
bitsPadding === void 0 ? bytes : import_Bytes.Bytes.concat(Uint8Array.of(bitsPadding), bytes)
|
|
140
153
|
);
|
|
141
154
|
} else if (value["_type" /* TypeOverride */] !== void 0 && value["_raw" /* RawData */] !== void 0) {
|
|
142
155
|
if (value["_type" /* TypeOverride */] === 2 /* Integer */ && value["_raw" /* RawData */] instanceof Uint8Array) {
|
|
143
|
-
return this
|
|
156
|
+
return this.#encodeInteger(value["_raw" /* RawData */]);
|
|
144
157
|
} else if (value["_type" /* TypeOverride */] === 3 /* BitString */ && typeof value["_raw" /* RawData */] === "number") {
|
|
145
|
-
return this
|
|
158
|
+
return this.#encodeBitString(value["_raw" /* RawData */]);
|
|
146
159
|
} else if (value["_type" /* TypeOverride */] === 19 /* PrintableString */ && typeof value["_raw" /* RawData */] === "string") {
|
|
147
|
-
return this
|
|
160
|
+
return this.#encodePrintableString(value["_raw" /* RawData */]);
|
|
148
161
|
} else if (value["_type" /* TypeOverride */] === 22 /* IA5String */ && typeof value["_raw" /* RawData */] === "string") {
|
|
149
|
-
return this
|
|
162
|
+
return this.#encodeIA5String(value["_raw" /* RawData */]);
|
|
150
163
|
} else {
|
|
151
|
-
throw new
|
|
164
|
+
throw new DerError(`Unsupported override type ${value["_type" /* TypeOverride */]}`);
|
|
152
165
|
}
|
|
153
166
|
} else if (value["_bytes" /* Bytes */] !== void 0 && value["_bytes" /* Bytes */] instanceof Uint8Array && Object.keys(value).length === 1) {
|
|
154
167
|
return value["_bytes" /* Bytes */];
|
|
155
168
|
} else if (value["_type" /* TypeOverride */] === void 0 && value["_bytes" /* Bytes */] === void 0) {
|
|
156
|
-
return this
|
|
169
|
+
return this.#encodeObject(value);
|
|
157
170
|
} else {
|
|
158
|
-
throw new
|
|
171
|
+
throw new DerError(`Unsupported object type ${typeof value}`);
|
|
159
172
|
}
|
|
160
173
|
} else {
|
|
161
|
-
throw new
|
|
174
|
+
throw new DerError(`Unsupported type ${typeof value}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
static decode(data) {
|
|
178
|
+
return this.#decodeRec(new import_DataReader.DataReader(data));
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Extract a large integer value to a byte array with a specific number of bytes.
|
|
182
|
+
*/
|
|
183
|
+
static decodeBigUint(value, byteLength) {
|
|
184
|
+
if (value === void 0) {
|
|
185
|
+
throw new DerError("Missing number in DER object");
|
|
186
|
+
}
|
|
187
|
+
if (value["_tag" /* TagId */] !== 2 /* Integer */) {
|
|
188
|
+
throw new DerError(`Expected integer but DER tag is ${DerType[value["_tag" /* TagId */]]}`);
|
|
162
189
|
}
|
|
190
|
+
const bytes = value["_bytes" /* Bytes */];
|
|
191
|
+
if (!ArrayBuffer.isView(bytes)) {
|
|
192
|
+
throw new DerError("Incorrect DER object type");
|
|
193
|
+
}
|
|
194
|
+
if (bytes.length === byteLength) {
|
|
195
|
+
return bytes;
|
|
196
|
+
}
|
|
197
|
+
if (bytes.length === byteLength + 1 && !bytes[0]) {
|
|
198
|
+
return bytes.slice(1);
|
|
199
|
+
}
|
|
200
|
+
if (bytes.length < byteLength) {
|
|
201
|
+
return import_Bytes.Bytes.concat(new Uint8Array(byteLength - bytes.length), bytes);
|
|
202
|
+
}
|
|
203
|
+
throw new DerError("Encoded integer contains too many bytes");
|
|
163
204
|
}
|
|
164
|
-
static encodeDate(date) {
|
|
205
|
+
static #encodeDate(date) {
|
|
165
206
|
if (date.getFullYear() > 2049) {
|
|
166
|
-
return this
|
|
207
|
+
return this.#encodeAsn1(
|
|
167
208
|
24 /* GeneralizedTime */,
|
|
168
209
|
import_Bytes.Bytes.fromString(
|
|
169
210
|
date.toISOString().replace(/[-:.T]/g, "").slice(0, 14) + "Z"
|
|
170
211
|
)
|
|
171
212
|
);
|
|
172
|
-
} else
|
|
173
|
-
return this
|
|
213
|
+
} else {
|
|
214
|
+
return this.#encodeAsn1(
|
|
174
215
|
23 /* UtcDate */,
|
|
175
216
|
import_Bytes.Bytes.fromString(
|
|
176
217
|
date.toISOString().replace(/[-:.T]/g, "").slice(2, 14) + "Z"
|
|
177
218
|
)
|
|
178
219
|
);
|
|
220
|
+
}
|
|
179
221
|
}
|
|
180
|
-
static encodeBoolean(bool) {
|
|
181
|
-
return this
|
|
222
|
+
static #encodeBoolean(bool) {
|
|
223
|
+
return this.#encodeAsn1(1 /* Boolean */, Uint8Array.of(bool ? 255 : 0));
|
|
182
224
|
}
|
|
183
|
-
static encodeArray(array) {
|
|
184
|
-
return this
|
|
225
|
+
static #encodeArray(array) {
|
|
226
|
+
return this.#encodeAsn1(17 /* Set */ | CONSTRUCTED, import_Bytes.Bytes.concat(...array.map((element) => this.encode(element))));
|
|
185
227
|
}
|
|
186
|
-
static encodeOctetString(value) {
|
|
187
|
-
return this
|
|
228
|
+
static #encodeOctetString(value) {
|
|
229
|
+
return this.#encodeAsn1(4 /* OctetString */, value);
|
|
188
230
|
}
|
|
189
|
-
static encodeObject(object) {
|
|
231
|
+
static #encodeObject(object) {
|
|
190
232
|
const attributes = new Array();
|
|
191
233
|
for (const key in object) {
|
|
192
234
|
attributes.push(this.encode(object[key]));
|
|
193
235
|
}
|
|
194
|
-
return this
|
|
236
|
+
return this.#encodeAsn1(16 /* Sequence */ | CONSTRUCTED, import_Bytes.Bytes.concat(...attributes));
|
|
195
237
|
}
|
|
196
|
-
static encodeString(value) {
|
|
197
|
-
return this
|
|
238
|
+
static #encodeString(value) {
|
|
239
|
+
return this.#encodeAsn1(12 /* UTF8String */, import_Bytes.Bytes.fromString(value));
|
|
198
240
|
}
|
|
199
|
-
static encodePrintableString(value) {
|
|
241
|
+
static #encodePrintableString(value) {
|
|
200
242
|
if (!/^[a-z0-9 '()+,\-./:=?]*$/i.test(value)) {
|
|
201
|
-
throw new
|
|
243
|
+
throw new DerError(`String ${value} is not a printable string.`);
|
|
202
244
|
}
|
|
203
|
-
return this
|
|
245
|
+
return this.#encodeAsn1(19 /* PrintableString */, import_Bytes.Bytes.fromString(value));
|
|
204
246
|
}
|
|
205
|
-
static encodeIA5String(value) {
|
|
247
|
+
static #encodeIA5String(value) {
|
|
206
248
|
if (!/^[\x00-\x7F]*$/.test(value)) {
|
|
207
|
-
throw new
|
|
249
|
+
throw new DerError(`String ${value} is not an IA5 string.`);
|
|
208
250
|
}
|
|
209
|
-
return this
|
|
251
|
+
return this.#encodeAsn1(22 /* IA5String */, import_Bytes.Bytes.fromString(value));
|
|
210
252
|
}
|
|
211
|
-
static encodeInteger(value) {
|
|
253
|
+
static #encodeInteger(value) {
|
|
212
254
|
const isByteArray = ArrayBuffer.isView(value);
|
|
213
255
|
let valueBytes;
|
|
214
256
|
if (isByteArray) {
|
|
@@ -225,15 +267,15 @@ class DerCodec {
|
|
|
225
267
|
start++;
|
|
226
268
|
if (start === byteArray.length - 1) break;
|
|
227
269
|
}
|
|
228
|
-
return this
|
|
270
|
+
return this.#encodeAsn1(2 /* Integer */, byteArray.slice(start));
|
|
229
271
|
}
|
|
230
|
-
static encodeBitString(value) {
|
|
272
|
+
static #encodeBitString(value) {
|
|
231
273
|
const reversedBits = value.toString(2).padStart(8, "0");
|
|
232
274
|
const unusedBits = reversedBits.indexOf("1");
|
|
233
275
|
const bitByteArray = Uint8Array.of(parseInt(reversedBits.split("").reverse().join(""), 2));
|
|
234
|
-
return this.encode(
|
|
276
|
+
return this.encode(DerBitString(bitByteArray, unusedBits === -1 ? 8 : unusedBits));
|
|
235
277
|
}
|
|
236
|
-
static encodeLengthBytes(value) {
|
|
278
|
+
static #encodeLengthBytes(value) {
|
|
237
279
|
const byteArray = new Uint8Array(5);
|
|
238
280
|
const dataView = import_Bytes.Bytes.dataViewOf(byteArray);
|
|
239
281
|
dataView.setUint32(1, value);
|
|
@@ -250,25 +292,22 @@ class DerCodec {
|
|
|
250
292
|
}
|
|
251
293
|
return byteArray.slice(start);
|
|
252
294
|
}
|
|
253
|
-
static encodeAsn1(tag, data) {
|
|
254
|
-
return import_Bytes.Bytes.concat(Uint8Array.of(tag), this
|
|
255
|
-
}
|
|
256
|
-
static decode(data) {
|
|
257
|
-
return this.decodeRec(new import_DataReader.DataReader(data));
|
|
295
|
+
static #encodeAsn1(tag, data) {
|
|
296
|
+
return import_Bytes.Bytes.concat(Uint8Array.of(tag), this.#encodeLengthBytes(data.length), data);
|
|
258
297
|
}
|
|
259
|
-
static decodeRec(reader) {
|
|
260
|
-
const { tag, bytes } = this
|
|
298
|
+
static #decodeRec(reader) {
|
|
299
|
+
const { tag, bytes } = this.#decodeAsn1(reader);
|
|
261
300
|
if (tag === 3 /* BitString */)
|
|
262
301
|
return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes.slice(1), ["_padding" /* BitsPadding */]: bytes[0] };
|
|
263
302
|
if ((tag & CONSTRUCTED) === 0) return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes };
|
|
264
303
|
const elementsReader = new import_DataReader.DataReader(bytes);
|
|
265
304
|
const elements = [];
|
|
266
305
|
while (elementsReader.remainingBytesCount > 0) {
|
|
267
|
-
elements.push(this
|
|
306
|
+
elements.push(this.#decodeRec(elementsReader));
|
|
268
307
|
}
|
|
269
308
|
return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes, ["_elements" /* Elements */]: elements };
|
|
270
309
|
}
|
|
271
|
-
static decodeAsn1(reader) {
|
|
310
|
+
static #decodeAsn1(reader) {
|
|
272
311
|
const tag = reader.readUInt8();
|
|
273
312
|
let length = reader.readUInt8();
|
|
274
313
|
if ((length & 128) !== 0) {
|
|
@@ -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;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,MAAkB,UAAU,OAAO;AAAA,EAC5D,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,WAAuB;AAAA,EACrE,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,WAAuB;AAAA,EAC5C,CAAC,oBAAY,GAAG;AACpB;AASO,MAAM,SAAS;AAAA,EAClB,OAAO,OAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["DerKey", "DerType", "DerClass"]
|
|
6
6
|
}
|
|
@@ -38,7 +38,7 @@ var X962;
|
|
|
38
38
|
algorithm: (0, import_DerCodec.ObjectId)("2A8648CE3D0201"),
|
|
39
39
|
curve: (0, import_DerCodec.ObjectId)("2A8648CE3D030107")
|
|
40
40
|
},
|
|
41
|
-
bytes: (0, import_DerCodec.
|
|
41
|
+
bytes: (0, import_DerCodec.DerBitString)(key)
|
|
42
42
|
});
|
|
43
43
|
X9622.EcdsaWithSHA256 = (0, import_DerCodec.DerObject)("2A8648CE3D040302");
|
|
44
44
|
})(X962 || (X962 = {}));
|
|
@@ -80,10 +80,10 @@ export declare class DnsCodec {
|
|
|
80
80
|
static encode({ messageType, transactionId, queries, answers, authorities, additionalRecords, }: Partial<DnsMessagePartiallyPreEncoded>): Uint8Array;
|
|
81
81
|
static encodeRecord(record: DnsRecord<any>): Uint8Array;
|
|
82
82
|
private static encodeRecordValue;
|
|
83
|
-
static encodeARecord(ip: string): Uint8Array<
|
|
84
|
-
static encodeAaaaRecord(ip: string): Uint8Array<
|
|
85
|
-
static encodeTxtRecord(entries: string[]): Uint8Array<
|
|
86
|
-
static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue): Uint8Array<
|
|
87
|
-
static encodeQName(qname: string): Uint8Array<
|
|
83
|
+
static encodeARecord(ip: string): Uint8Array<ArrayBuffer>;
|
|
84
|
+
static encodeAaaaRecord(ip: string): Uint8Array<ArrayBuffer>;
|
|
85
|
+
static encodeTxtRecord(entries: string[]): Uint8Array<ArrayBuffer>;
|
|
86
|
+
static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue): Uint8Array<ArrayBuffer>;
|
|
87
|
+
static encodeQName(qname: string): Uint8Array<ArrayBuffer>;
|
|
88
88
|
}
|
|
89
89
|
//# sourceMappingURL=DnsCodec.d.ts.map
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
import { MaybePromise } from "#util/Promises.js";
|
|
7
7
|
import * as mod from "@noble/curves/abstract/modular";
|
|
8
8
|
import * as utils from "@noble/curves/abstract/utils";
|
|
9
|
-
import {
|
|
10
|
-
import { PrivateKey } from "./Key.js";
|
|
9
|
+
import { PrivateKey, PublicKey } from "./Key.js";
|
|
11
10
|
export declare const ec: {
|
|
12
11
|
mod(a: bigint, b: bigint): bigint;
|
|
13
12
|
pow(num: bigint, power: bigint, modulo: bigint): bigint;
|
|
@@ -21,11 +20,14 @@ export declare const ec: {
|
|
|
21
20
|
FpDiv<T>(Fp: mod.IField<T>, lhs: T, rhs: T | bigint): T;
|
|
22
21
|
FpLegendre<T>(Fp: mod.IField<T>, n: T): -1 | 0 | 1;
|
|
23
22
|
FpIsSquare<T>(Fp: mod.IField<T>, n: T): boolean;
|
|
24
|
-
nLength(n: bigint, nBitLength?: number):
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
nLength(n: bigint, nBitLength?: number): mod.NLength;
|
|
24
|
+
Field(ORDER: bigint, bitLenOrOpts?: number | Partial<{
|
|
25
|
+
sqrt: (n: bigint) => bigint;
|
|
26
|
+
isLE: boolean;
|
|
27
|
+
BITS: number;
|
|
28
|
+
}>, isLE?: boolean, opts?: {
|
|
29
|
+
sqrt?: (n: bigint) => bigint;
|
|
30
|
+
}): Readonly<mod.IField<bigint> & Required<Pick<mod.IField<bigint>, "isOdd">>>;
|
|
29
31
|
FpSqrtOdd<T>(Fp: mod.IField<T>, elm: T): T;
|
|
30
32
|
FpSqrtEven<T>(Fp: mod.IField<T>, elm: T): T;
|
|
31
33
|
hashToPrivateScalar(hash: string | Uint8Array, groupOrder: bigint, isLE?: boolean): bigint;
|
|
@@ -33,22 +35,16 @@ export declare const ec: {
|
|
|
33
35
|
getMinHashLength(fieldOrder: bigint): number;
|
|
34
36
|
mapHashToField(key: Uint8Array, fieldOrder: bigint, isLE?: boolean): Uint8Array;
|
|
35
37
|
isNegativeLE: (num: bigint, modulo: bigint) => boolean;
|
|
36
|
-
isBytes(a: unknown): a is Uint8Array;
|
|
37
|
-
abytes(item: unknown): void;
|
|
38
38
|
abool(title: string, value: boolean): void;
|
|
39
39
|
numberToHexUnpadded(num: number | bigint): string;
|
|
40
40
|
hexToNumber(hex: string): bigint;
|
|
41
|
-
bytesToHex(bytes: Uint8Array): string;
|
|
42
|
-
hexToBytes(hex: string): Uint8Array;
|
|
43
41
|
bytesToNumberBE(bytes: Uint8Array): bigint;
|
|
44
42
|
bytesToNumberLE(bytes: Uint8Array): bigint;
|
|
45
43
|
numberToBytesBE(n: number | bigint, len: number): Uint8Array;
|
|
46
44
|
numberToBytesLE(n: number | bigint, len: number): Uint8Array;
|
|
47
45
|
numberToVarBytesBE(n: number | bigint): Uint8Array;
|
|
48
46
|
ensureBytes(title: string, hex: utils.Hex, expectedLength?: number): Uint8Array;
|
|
49
|
-
concatBytes(...arrays: Uint8Array[]): Uint8Array;
|
|
50
47
|
equalBytes(a: Uint8Array, b: Uint8Array): boolean;
|
|
51
|
-
utf8ToBytes(str: string): Uint8Array;
|
|
52
48
|
inRange(n: bigint, min: bigint, max: bigint): boolean;
|
|
53
49
|
aInRange(title: string, n: bigint, min: bigint, max: bigint): void;
|
|
54
50
|
bitLen(n: bigint): number;
|
|
@@ -56,7 +52,18 @@ export declare const ec: {
|
|
|
56
52
|
bitSet(n: bigint, pos: number, value: boolean): bigint;
|
|
57
53
|
createHmacDrbg<T>(hashLen: number, qByteLen: number, hmacFn: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array): (seed: Uint8Array, predicate: (v: Uint8Array) => T | undefined) => T;
|
|
58
54
|
validateObject<T extends Record<string, any>>(object: T, validators: { [K in keyof T]?: "string" | "bigint" | "boolean" | "function" | "hash" | "stringOrUint8Array" | "isSafeInteger" | "array" | "field" | undefined; }, optValidators?: { [K in keyof T]?: "string" | "bigint" | "boolean" | "function" | "hash" | "stringOrUint8Array" | "isSafeInteger" | "array" | "field" | undefined; }): T;
|
|
55
|
+
isHash(val: utils.CHash): boolean;
|
|
56
|
+
_validateObject(object: Record<string, any>, fields: Record<string, string>, optFields?: Record<string, string>): void;
|
|
59
57
|
memoized<T extends object, R, O extends any[]>(fn: (arg: T, ...args: O) => R): (arg: T, ...args: O) => R;
|
|
58
|
+
abytes: typeof utils.abytes;
|
|
59
|
+
anumber: typeof utils.anumber;
|
|
60
|
+
bytesToHex: typeof utils.bytesToHex;
|
|
61
|
+
bytesToUtf8: typeof utils.bytesToUtf8;
|
|
62
|
+
concatBytes: typeof utils.concatBytes;
|
|
63
|
+
hexToBytes: typeof utils.hexToBytes;
|
|
64
|
+
isBytes: typeof utils.isBytes;
|
|
65
|
+
randomBytes: typeof utils.randomBytes;
|
|
66
|
+
utf8ToBytes: typeof utils.utf8ToBytes;
|
|
60
67
|
bitMask: (n: number) => bigint;
|
|
61
68
|
notImplemented: () => never;
|
|
62
69
|
p256: import("@noble/curves/_shortw_utils").CurveFnWithCreate;
|
|
@@ -69,54 +76,96 @@ export declare const CRYPTO_EC_KEY_BYTES = 32;
|
|
|
69
76
|
export declare const CRYPTO_AUTH_TAG_LENGTH = 16;
|
|
70
77
|
export declare const CRYPTO_SYMMETRIC_KEY_LENGTH = 16;
|
|
71
78
|
export type CryptoDsaEncoding = "ieee-p1363" | "der";
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
79
|
+
/**
|
|
80
|
+
* These are the cryptographic primitives required to implement the Matter protocol.
|
|
81
|
+
*
|
|
82
|
+
* We provide a platform-independent implementation that uses Web Crypto via {@link crypto.subtle} and a JS-based
|
|
83
|
+
* AES-CCM implementation.
|
|
84
|
+
*
|
|
85
|
+
* If your platform does not fully implement Web Crypto, or offers a native implementation of AES-CCM, you can replace
|
|
86
|
+
* {@link Crypto.get} to expose a different implementation.
|
|
87
|
+
*
|
|
88
|
+
* WARNING: The standard implementation is unaudited. See relevant warnings in StandardCrypto.ts.
|
|
89
|
+
*/
|
|
90
|
+
export interface Crypto {
|
|
91
|
+
/**
|
|
92
|
+
* The name used in log messages.
|
|
93
|
+
*/
|
|
94
|
+
implementationName: string;
|
|
95
|
+
/**
|
|
96
|
+
* Encrypt using AES-CCM with constants limited to those required by Matter.
|
|
97
|
+
*/
|
|
98
|
+
encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array;
|
|
99
|
+
/**
|
|
100
|
+
* Decrypt using AES-CCM with constants limited to those required by Matter.
|
|
101
|
+
*/
|
|
102
|
+
decrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array;
|
|
103
|
+
/**
|
|
104
|
+
* Obtain random bytes from the most cryptographically-appropriate source available.
|
|
105
|
+
*/
|
|
106
|
+
getRandomData(length: number): Uint8Array;
|
|
107
|
+
/**
|
|
108
|
+
* Compute the SHA-256 hash of a buffer.
|
|
109
|
+
*/
|
|
110
|
+
computeSha256(data: Uint8Array | Uint8Array[]): MaybePromise<Uint8Array>;
|
|
111
|
+
/**
|
|
112
|
+
* Create a key from a secret using PBKDF2.
|
|
113
|
+
*/
|
|
114
|
+
createPbkdf2Key(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): MaybePromise<Uint8Array>;
|
|
115
|
+
/**
|
|
116
|
+
* Create a key from a secret using HKDF.
|
|
117
|
+
*/
|
|
118
|
+
createHkdfKey(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): MaybePromise<Uint8Array>;
|
|
119
|
+
/**
|
|
120
|
+
* Create an HMAC signature.
|
|
121
|
+
*/
|
|
122
|
+
signHmac(key: Uint8Array, data: Uint8Array): MaybePromise<Uint8Array>;
|
|
123
|
+
/**
|
|
124
|
+
* Create an ECDSA signature.
|
|
125
|
+
*/
|
|
126
|
+
signEcdsa(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): MaybePromise<Uint8Array>;
|
|
127
|
+
/**
|
|
128
|
+
* Authenticate an ECDSA signature.
|
|
129
|
+
*/
|
|
130
|
+
verifyEcdsa(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): MaybePromise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Create a general-purpose EC key.
|
|
133
|
+
*/
|
|
134
|
+
createKeyPair(): MaybePromise<PrivateKey>;
|
|
135
|
+
/**
|
|
136
|
+
* Compute the shared secret for a Diffie-Hellman exchange.
|
|
137
|
+
*/
|
|
138
|
+
generateDhSecret(key: PrivateKey, peerKey: PublicKey): MaybePromise<Uint8Array>;
|
|
121
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Crypto support functions.
|
|
142
|
+
*/
|
|
143
|
+
export declare const Crypto: {
|
|
144
|
+
/**
|
|
145
|
+
* The default crypto implementation.
|
|
146
|
+
*/
|
|
147
|
+
readonly default: Crypto;
|
|
148
|
+
get provider(): undefined | (() => Crypto);
|
|
149
|
+
/**
|
|
150
|
+
* Set the default crypto provider.
|
|
151
|
+
*/
|
|
152
|
+
set provider(provider: () => Crypto);
|
|
153
|
+
readonly implementationName: string;
|
|
154
|
+
encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array<ArrayBufferLike>;
|
|
155
|
+
decrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array<ArrayBufferLike>;
|
|
156
|
+
getRandomData(length: number): Uint8Array<ArrayBufferLike>;
|
|
157
|
+
getRandom(): Uint8Array<ArrayBufferLike>;
|
|
158
|
+
getRandomUInt16(): number;
|
|
159
|
+
getRandomUInt32(): number;
|
|
160
|
+
getRandomBigUInt64(): bigint;
|
|
161
|
+
getRandomBigInt(size: number, maxValue?: bigint): bigint;
|
|
162
|
+
computeSha256(data: Uint8Array | Uint8Array[]): MaybePromise<Uint8Array<ArrayBufferLike>>;
|
|
163
|
+
createPbkdf2Key(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): MaybePromise<Uint8Array<ArrayBufferLike>>;
|
|
164
|
+
createHkdfKey(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): MaybePromise<Uint8Array<ArrayBufferLike>>;
|
|
165
|
+
signHmac(key: Uint8Array, data: Uint8Array): MaybePromise<Uint8Array<ArrayBufferLike>>;
|
|
166
|
+
signEcdsa(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): MaybePromise<Uint8Array<ArrayBufferLike>>;
|
|
167
|
+
verifyEcdsa(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): MaybePromise<void>;
|
|
168
|
+
createKeyPair(): MaybePromise<PrivateKey>;
|
|
169
|
+
generateDhSecret(key: PrivateKey, peerKey: PublicKey): MaybePromise<Uint8Array<ArrayBufferLike>>;
|
|
170
|
+
};
|
|
122
171
|
//# sourceMappingURL=Crypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"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"}
|