@matter/general 0.16.0-alpha.0-20250809-ee8375bcb → 0.16.0-alpha.0-20250812-285b75d83
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/MatterError.d.ts +1 -1
- package/dist/cjs/MatterError.d.ts.map +1 -1
- package/dist/cjs/MatterError.js +1 -1
- package/dist/cjs/MatterError.js.map +1 -1
- package/dist/cjs/codec/DnsCodec.d.ts +4 -5
- package/dist/cjs/codec/DnsCodec.d.ts.map +1 -1
- package/dist/cjs/codec/DnsCodec.js +6 -9
- package/dist/cjs/codec/DnsCodec.js.map +1 -1
- package/dist/cjs/crypto/Key.d.ts +7 -0
- package/dist/cjs/crypto/Key.d.ts.map +1 -1
- package/dist/cjs/crypto/Key.js +9 -4
- package/dist/cjs/crypto/Key.js.map +1 -1
- package/dist/cjs/crypto/StandardCrypto.d.ts +5 -1
- package/dist/cjs/crypto/StandardCrypto.d.ts.map +1 -1
- package/dist/cjs/crypto/StandardCrypto.js +45 -31
- package/dist/cjs/crypto/StandardCrypto.js.map +2 -2
- package/dist/cjs/crypto/WebCrypto.d.ts +12 -0
- package/dist/cjs/crypto/WebCrypto.d.ts.map +1 -0
- package/dist/cjs/crypto/WebCrypto.js +22 -0
- package/dist/cjs/crypto/WebCrypto.js.map +6 -0
- 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/cjs/net/RetrySchedule.d.ts +77 -0
- package/dist/cjs/net/RetrySchedule.d.ts.map +1 -0
- package/dist/cjs/net/RetrySchedule.js +79 -0
- package/dist/cjs/net/RetrySchedule.js.map +6 -0
- package/dist/cjs/net/UdpMulticastServer.d.ts +3 -2
- package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -1
- package/dist/cjs/net/UdpMulticastServer.js +3 -0
- package/dist/cjs/net/UdpMulticastServer.js.map +1 -1
- package/dist/cjs/net/index.d.ts +1 -0
- package/dist/cjs/net/index.d.ts.map +1 -1
- package/dist/cjs/net/index.js +1 -0
- package/dist/cjs/net/index.js.map +1 -1
- package/dist/cjs/time/Time.js +1 -1
- package/dist/cjs/time/Time.js.map +1 -1
- package/dist/cjs/util/Bytes.d.ts +1 -0
- package/dist/cjs/util/Bytes.d.ts.map +1 -1
- package/dist/cjs/util/Bytes.js +10 -0
- package/dist/cjs/util/Bytes.js.map +1 -1
- package/dist/cjs/util/Cache.d.ts +1 -1
- package/dist/cjs/util/Cache.d.ts.map +1 -1
- package/dist/cjs/util/Cache.js +3 -3
- package/dist/cjs/util/Cache.js.map +1 -1
- package/dist/cjs/util/Cancelable.js +1 -1
- package/dist/cjs/util/Cancelable.js.map +1 -1
- package/dist/cjs/util/Multiplex.d.ts +12 -1
- package/dist/cjs/util/Multiplex.d.ts.map +1 -1
- package/dist/cjs/util/Multiplex.js +40 -0
- package/dist/cjs/util/Multiplex.js.map +1 -1
- package/dist/cjs/util/index.d.ts +1 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +1 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/esm/MatterError.d.ts +1 -1
- package/dist/esm/MatterError.d.ts.map +1 -1
- package/dist/esm/MatterError.js +1 -1
- package/dist/esm/MatterError.js.map +1 -1
- package/dist/esm/codec/DnsCodec.d.ts +4 -5
- package/dist/esm/codec/DnsCodec.d.ts.map +1 -1
- package/dist/esm/codec/DnsCodec.js +6 -9
- package/dist/esm/codec/DnsCodec.js.map +1 -1
- package/dist/esm/crypto/Key.d.ts +7 -0
- package/dist/esm/crypto/Key.d.ts.map +1 -1
- package/dist/esm/crypto/Key.js +9 -4
- package/dist/esm/crypto/Key.js.map +1 -1
- package/dist/esm/crypto/StandardCrypto.d.ts +5 -1
- package/dist/esm/crypto/StandardCrypto.d.ts.map +1 -1
- package/dist/esm/crypto/StandardCrypto.js +45 -31
- package/dist/esm/crypto/StandardCrypto.js.map +2 -2
- package/dist/esm/crypto/WebCrypto.d.ts +12 -0
- package/dist/esm/crypto/WebCrypto.d.ts.map +1 -0
- package/dist/esm/crypto/WebCrypto.js +6 -0
- package/dist/esm/crypto/WebCrypto.js.map +6 -0
- 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/dist/esm/net/RetrySchedule.d.ts +77 -0
- package/dist/esm/net/RetrySchedule.d.ts.map +1 -0
- package/dist/esm/net/RetrySchedule.js +59 -0
- package/dist/esm/net/RetrySchedule.js.map +6 -0
- package/dist/esm/net/UdpMulticastServer.d.ts +3 -2
- package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -1
- package/dist/esm/net/UdpMulticastServer.js +3 -0
- package/dist/esm/net/UdpMulticastServer.js.map +1 -1
- package/dist/esm/net/index.d.ts +1 -0
- package/dist/esm/net/index.d.ts.map +1 -1
- package/dist/esm/net/index.js +1 -0
- package/dist/esm/net/index.js.map +1 -1
- package/dist/esm/time/Time.js +1 -1
- package/dist/esm/time/Time.js.map +1 -1
- package/dist/esm/util/Bytes.d.ts +1 -0
- package/dist/esm/util/Bytes.d.ts.map +1 -1
- package/dist/esm/util/Bytes.js +10 -0
- package/dist/esm/util/Bytes.js.map +1 -1
- package/dist/esm/util/Cache.d.ts +1 -1
- package/dist/esm/util/Cache.d.ts.map +1 -1
- package/dist/esm/util/Cache.js +3 -3
- package/dist/esm/util/Cache.js.map +1 -1
- package/dist/esm/util/Cancelable.js +1 -1
- package/dist/esm/util/Cancelable.js.map +1 -1
- package/dist/esm/util/Multiplex.d.ts +12 -1
- package/dist/esm/util/Multiplex.d.ts.map +1 -1
- package/dist/esm/util/Multiplex.js +36 -0
- package/dist/esm/util/Multiplex.js.map +1 -1
- package/dist/esm/util/index.d.ts +1 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +1 -0
- package/dist/esm/util/index.js.map +1 -1
- package/package.json +2 -2
- package/src/MatterError.ts +1 -1
- package/src/codec/DnsCodec.ts +3 -20
- package/src/crypto/Key.ts +14 -3
- package/src/crypto/StandardCrypto.ts +59 -45
- package/src/crypto/WebCrypto.ts +11 -0
- package/src/crypto/index.ts +1 -0
- package/src/net/RetrySchedule.ts +120 -0
- package/src/net/UdpMulticastServer.ts +6 -2
- package/src/net/index.ts +1 -0
- package/src/time/Time.ts +1 -1
- package/src/util/Bytes.ts +12 -0
- package/src/util/Cache.ts +3 -3
- package/src/util/Cancelable.ts +1 -1
- package/src/util/Multiplex.ts +56 -1
- package/src/util/index.ts +1 -0
package/dist/esm/MatterError.js
CHANGED
|
@@ -224,7 +224,7 @@ class CanceledError extends MatterError {
|
|
|
224
224
|
super(message, options);
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
|
-
class TimeoutError extends
|
|
227
|
+
class TimeoutError extends MatterError {
|
|
228
228
|
constructor(message = "Operation timed out", options) {
|
|
229
229
|
super(message, options);
|
|
230
230
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/MatterError.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["value", "indents"]
|
|
6
6
|
}
|
|
@@ -10,11 +10,11 @@ import { DataReader } from "../util/DataReader.js";
|
|
|
10
10
|
* when needed.
|
|
11
11
|
*/
|
|
12
12
|
export declare const MAX_MDNS_MESSAGE_SIZE = 1232;
|
|
13
|
-
export declare const PtrRecord: (name: string, ptr: string,
|
|
13
|
+
export declare const PtrRecord: (name: string, ptr: string, ttl?: number, flushCache?: boolean) => DnsRecord<string>;
|
|
14
14
|
export declare const ARecord: (name: string, ip: string, ttl?: number, flushCache?: boolean) => DnsRecord<string>;
|
|
15
15
|
export declare const AAAARecord: (name: string, ip: string, ttl?: number, flushCache?: boolean) => DnsRecord<string>;
|
|
16
|
-
export declare const TxtRecord: (name: string, entries: string[],
|
|
17
|
-
export declare const SrvRecord: (name: string, srv: SrvRecordValue,
|
|
16
|
+
export declare const TxtRecord: (name: string, entries: string[], ttl?: number, flushCache?: boolean) => DnsRecord<string[]>;
|
|
17
|
+
export declare const SrvRecord: (name: string, srv: SrvRecordValue, ttl?: number, flushCache?: boolean) => DnsRecord<SrvRecordValue>;
|
|
18
18
|
export type SrvRecordValue = {
|
|
19
19
|
priority: number;
|
|
20
20
|
weight: number;
|
|
@@ -27,14 +27,13 @@ export type DnsQuery = {
|
|
|
27
27
|
recordClass: DnsRecordClass;
|
|
28
28
|
uniCastResponse?: boolean;
|
|
29
29
|
};
|
|
30
|
-
export type DnsRecord<T> = {
|
|
30
|
+
export type DnsRecord<T = unknown> = {
|
|
31
31
|
name: string;
|
|
32
32
|
recordType: DnsRecordType;
|
|
33
33
|
recordClass: DnsRecordClass;
|
|
34
34
|
flushCache?: boolean;
|
|
35
35
|
ttl: number;
|
|
36
36
|
value: T;
|
|
37
|
-
forInstance?: string;
|
|
38
37
|
};
|
|
39
38
|
export type DnsMessage = {
|
|
40
39
|
transactionId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DnsCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DnsCodec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAS,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"DnsCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DnsCodec.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,13 @@ import { DataReader } from "../util/DataReader.js";
|
|
|
9
9
|
import { DataWriter } from "../util/DataWriter.js";
|
|
10
10
|
import { ipv4BytesToString, ipv4ToBytes, ipv6BytesToString, ipv6ToBytes, isIPv4, isIPv6 } from "../util/Ip.js";
|
|
11
11
|
const MAX_MDNS_MESSAGE_SIZE = 1232;
|
|
12
|
-
const PtrRecord = (name, ptr,
|
|
12
|
+
const PtrRecord = (name, ptr, ttl = 120, flushCache = false) => ({
|
|
13
13
|
name,
|
|
14
14
|
value: ptr,
|
|
15
15
|
ttl,
|
|
16
16
|
recordType: 12 /* PTR */,
|
|
17
17
|
recordClass: 1 /* IN */,
|
|
18
|
-
flushCache
|
|
19
|
-
forInstance
|
|
18
|
+
flushCache
|
|
20
19
|
});
|
|
21
20
|
const ARecord = (name, ip, ttl = 120, flushCache = false) => ({
|
|
22
21
|
name,
|
|
@@ -34,23 +33,21 @@ const AAAARecord = (name, ip, ttl = 120, flushCache = false) => ({
|
|
|
34
33
|
recordClass: 1 /* IN */,
|
|
35
34
|
flushCache
|
|
36
35
|
});
|
|
37
|
-
const TxtRecord = (name, entries,
|
|
36
|
+
const TxtRecord = (name, entries, ttl = 120, flushCache = false) => ({
|
|
38
37
|
name,
|
|
39
38
|
value: entries,
|
|
40
39
|
ttl,
|
|
41
40
|
recordType: 16 /* TXT */,
|
|
42
41
|
recordClass: 1 /* IN */,
|
|
43
|
-
flushCache
|
|
44
|
-
forInstance
|
|
42
|
+
flushCache
|
|
45
43
|
});
|
|
46
|
-
const SrvRecord = (name, srv,
|
|
44
|
+
const SrvRecord = (name, srv, ttl = 120, flushCache = false) => ({
|
|
47
45
|
name,
|
|
48
46
|
value: srv,
|
|
49
47
|
ttl,
|
|
50
48
|
recordType: 33 /* SRV */,
|
|
51
49
|
recordClass: 1 /* IN */,
|
|
52
|
-
flushCache
|
|
53
|
-
forInstance
|
|
50
|
+
flushCache
|
|
54
51
|
});
|
|
55
52
|
var DnsMessageType = /* @__PURE__ */ ((DnsMessageType2) => {
|
|
56
53
|
DnsMessageType2[DnsMessageType2["Query"] = 0] = "Query";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/codec/DnsCodec.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe,qBAAqB,2BAA2B;AACxE,SAAS,aAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB,aAAa,mBAAmB,aAAa,QAAQ,cAAc;AAMxF,MAAM,wBAAwB;AAE9B,MAAM,YAAY,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["DnsMessageType", "DnsRecordType", "DnsRecordClass"]
|
|
6
6
|
}
|
package/dist/esm/crypto/Key.d.ts
CHANGED
|
@@ -143,6 +143,7 @@ export interface PrivateKey extends PublicKey {
|
|
|
143
143
|
privateKey: Uint8Array;
|
|
144
144
|
keyPair: BinaryKeyPair;
|
|
145
145
|
keyPairBits: BinaryKeyPair;
|
|
146
|
+
sharedSecretFor(peerKey: PublicKey): Uint8Array;
|
|
146
147
|
}
|
|
147
148
|
/**
|
|
148
149
|
* Symmetric key.
|
|
@@ -168,4 +169,10 @@ export declare function PublicKey(publicKey: Uint8Array, options?: Partial<Key>)
|
|
|
168
169
|
* Symmetric key factory.
|
|
169
170
|
*/
|
|
170
171
|
export declare function SymmetricKey(privateKey: Uint8Array, options?: Partial<Key>): Key;
|
|
172
|
+
/**
|
|
173
|
+
* Diffie-Hellman shared secret computation.
|
|
174
|
+
*
|
|
175
|
+
* We provide this for platforms without a native implementation.
|
|
176
|
+
*/
|
|
177
|
+
export declare function sharedSecretFor(this: PrivateKey, peerKey: PublicKey): Uint8Array;
|
|
171
178
|
//# sourceMappingURL=Key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/crypto/Key.js
CHANGED
|
@@ -11,7 +11,7 @@ import { ec } from "./Crypto.js";
|
|
|
11
11
|
import { KeyInputError } from "./CryptoError.js";
|
|
12
12
|
const {
|
|
13
13
|
numberToBytesBE,
|
|
14
|
-
p256: {
|
|
14
|
+
p256: { Point, getSharedSecret }
|
|
15
15
|
} = ec;
|
|
16
16
|
const JWK_KEYS = [
|
|
17
17
|
"crv",
|
|
@@ -279,7 +279,7 @@ function Key(properties) {
|
|
|
279
279
|
default:
|
|
280
280
|
throw new KeyInputError(`Unsupported elliptic curve ${crv}`);
|
|
281
281
|
}
|
|
282
|
-
const ecKey =
|
|
282
|
+
const ecKey = Point.fromPrivateKey(that.privateKey);
|
|
283
283
|
that.xBits = numberToBytesBE(ecKey.x, keyLength);
|
|
284
284
|
that.yBits = numberToBytesBE(ecKey.y, keyLength);
|
|
285
285
|
}
|
|
@@ -307,7 +307,8 @@ function PrivateKey(privateKey, options) {
|
|
|
307
307
|
type: "EC" /* EC */,
|
|
308
308
|
privateKey: priv,
|
|
309
309
|
publicKey: pub,
|
|
310
|
-
...options
|
|
310
|
+
...options,
|
|
311
|
+
sharedSecretFor
|
|
311
312
|
});
|
|
312
313
|
}
|
|
313
314
|
function PublicKey(publicKey, options) {
|
|
@@ -324,12 +325,16 @@ function SymmetricKey(privateKey, options) {
|
|
|
324
325
|
...options
|
|
325
326
|
});
|
|
326
327
|
}
|
|
328
|
+
function sharedSecretFor(peerKey) {
|
|
329
|
+
return getSharedSecret(this.privateBits, peerKey.publicBits);
|
|
330
|
+
}
|
|
327
331
|
export {
|
|
328
332
|
CurveType,
|
|
329
333
|
Key,
|
|
330
334
|
KeyType,
|
|
331
335
|
PrivateKey,
|
|
332
336
|
PublicKey,
|
|
333
|
-
SymmetricKey
|
|
337
|
+
SymmetricKey,
|
|
338
|
+
sharedSecretFor
|
|
334
339
|
};
|
|
335
340
|
//# sourceMappingURL=Key.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/Key.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AACvB,SAAS,UAAmB,eAAe;AAC3C,SAAS,aAAa,2BAA2B;AACjD,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,qBAAqB;AAE9B,MAAM;AAAA,EACF;AAAA,EACA,MAAM,EAAE,gBAAgB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AACvB,SAAS,UAAmB,eAAe;AAC3C,SAAS,aAAa,2BAA2B;AACjD,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,qBAAqB;AAE9B,MAAM;AAAA,EACF;AAAA,EACA,MAAM,EAAE,OAAO,gBAAgB;AACnC,IAAI;AAEJ,MAAM,WAAW;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ;AAEO,IAAK,UAAL,kBAAKA,aAAL;AACH,EAAAA,SAAA,QAAK;AACL,EAAAA,SAAA,SAAM;AACN,EAAAA,SAAA,SAAM;AAHE,SAAAA;AAAA,GAAA;AAML,IAAK,YAAL,kBAAKC,eAAL;AACH,EAAAA,WAAA,UAAO;AACP,EAAAA,WAAA,UAAO;AACP,EAAAA,WAAA,UAAO;AAHC,SAAAA;AAAA,GAAA;AAMZ,IAAK,eAAL,kBAAKC,kBAAL;AACI,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,gBAAa;AAJZ,SAAAA;AAAA,GAAA;AAOL,MAAM,cAAc;AAAA,EAChB,CAAC,mCAAuB,GAAG;AAAA,EAC3B,CAAC,6BAAuB,GAAG;AAAA,EAC3B,CAAC,6BAAuB,GAAG;AAC/B;AAoKA,SAAS,gBAAgB,MAAc,MAA2B,SAAiB;AAC/E,QAAM,aACF,QAAQ,KAAK,SAAS,QAAQ,WAAW,KAAK,UAAU,KAAK,OAAO,WAAW,KAAK,KAAK,OAAO,CAAC;AAErG,MAAI,eAAe,SAAS;AACxB,UAAM,IAAI,cAAc,GAAG,IAAI,uBAAuB;AAAA,EAC1D;AACJ;AAEA,SAAS,eAAe,MAAc,MAAgB;AAClD,QAAM,KAAK,QAAQ,KAAK,SAAS,QAAQ,oBAAoB,KAAK,QAAQ,SAAS,KAAK,KAAK;AAE7F,MAAI,GAAI,QAAO;AAEf,QAAM,IAAI,cAAc,qBAAqB,IAAI,MAAM;AAC3D;AAEA,SAAS,YAAY,MAAc,MAAgB;AAC/C,QAAM,MAAM,eAAe,MAAM,IAAI;AACrC,QAAM,QAAc,YAAa,MAAM,MAAM,GAAG,CAAC;AACjD,MAAI,MAAO,QAAO;AAClB,QAAM,IAAI,cAAc,eAAe,IAAI,WAAW;AAC1D;AAEA,SAAS,UAAU,MAAc,MAAgB,UAAmB,QAAQ,aAAa;AACrF,QAAM,MAAM,QAAQ,KAAK,SAAS,WAAW,KAAK,QAAQ,SAAS,KAAK,KAAK;AAE7E,MAAI,IAAK,QAAO;AAEhB,QAAM,IAAI,YAAY,WAAW,IAAI,WAAW;AACpD;AAGA,IAAU;AAAA,CAAV,CAAUC,iBAAV;AAEW,EAAMA,aAAA,OAAO;AAAA,IAChB,KAAK,SAAqB,OAAmB;AACzC,YAAM,UAAU,SAAS,OAAO,KAAK;AAGrC,YAAM,cAAc,SAAS,YAAY,CAAC;AAC1C,sBAAgB,SAAS,aAAa,CAAC;AAGvC,YAAM,YAAY,SAAS,YAAY,CAAC,GAAG,YAAY,CAAC;AACxD,YAAM,QAAQ,YAAY,SAAS,SAAS;AAG5C,YAAM,UAAU,SAAS,YAAY,CAAC;AACtC,YAAM,MAAM,UAAU,SAAS,OAAO;AAEtC,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,cAAc;AAAA,IACvB;AAAA,IAEA,KAAK,WAAY;AACb,YAAM,IAAI,oBAAoB,6BAA6B;AAAA,IAC/D;AAAA,EACJ;AAGO,EAAMA,aAAA,QAAQ;AAAA,IACjB,KAAK,SAAqB,OAAmB;AACzC,YAAM,QAAQ,SAAS,OAAO,KAAK;AAGnC,YAAM,UAAU,OAAO,YAAY,CAAC;AACpC,sBAAgB,WAAW,SAAS,CAAC;AAGrC,YAAM,oBAAoB,OAAO,YAAY,CAAC,GAAG;AACjD,YAAM,YAAY,eAAe,WAAW,oBAAoB,CAAC,CAAC;AAClE,UAAI,MAAM,MAAM,SAAS,MAAM,oCAA0B;AACrD,cAAM,IAAI,cAAc,0CAA0C;AAAA,MACtE;AAGA,YAAM,QAAQ,YAAY,WAAW,oBAAoB,CAAC,CAAC;AAG3D,YAAM,aAAa,OAAO,YAAY,CAAC,EAAE;AACzC,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,cAAM,IAAI,cAAc,qBAAqB;AAAA,MACjD;AACA,YAAM,QAAQ,SAAS,OAAO,UAAU;AACxC,YAAM,MAAM,UAAU,WAAW,OAAO,YAAY,CAAC,CAAC;AAEtD,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,cAAc;AAAA,IACvB;AAAA,IAEA,KAAK,WAAY;AACb,YAAM,IAAI,oBAAoB,gCAAgC;AAAA,IAClE;AAAA,EACJ;AAGO,EAAMA,aAAA,OAAO;AAAA,IAChB,KAAK,SAAqB,OAAmB;AACzC,YAAM,UAAU,SAAS,OAAO,KAAK;AAErC,YAAM,oBAAoB,SAAS,YAAY,CAAC,GAAG;AAGnD,YAAM,YAAY,eAAe,QAAQ,oBAAoB,CAAC,CAAC;AAC/D,UAAI,MAAM,MAAM,SAAS,MAAM,oCAA0B;AACrD,cAAM,IAAI,cAAc,uCAAuC;AAAA,MACnE;AAGA,YAAM,QAAQ,YAAY,QAAQ,oBAAoB,CAAC,CAAC;AAGxD,YAAM,MAAM,UAAU,QAAQ,SAAS,YAAY,CAAC,GAAG,QAAQ,SAAS;AAExE,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,aAAa;AAAA,IACtB;AAAA,IAEA,KAAK,WAAY;AACb,YAAM,IAAI,oBAAoB,6BAA6B;AAAA,IAC/D;AAAA,EACJ;AAGO,EAAMA,aAAA,aAAa;AAAA,IACtB,KAAK,SAAqB,OAAmB;AACzC,UAAI,EAAE,MAAM,SAAS,IAAI;AACrB,cAAM,IAAI,cAAc,6BAA6B;AAAA,MACzD;AAEA,cAAQ,MAAM,CAAC,GAAG;AAAA,QACd,KAAK;AAAA,QACL,KAAK;AACD,gBAAM,IAAI,cAAc,oCAAoC;AAAA,QAEhE,KAAK;AACD;AAAA,QAEJ,KAAK;AACD,gBAAM,IAAI,cAAc,qCAAqC;AAAA,MACrE;AAEA,YAAM,oBAAoB,MAAM,SAAS,KAAK;AAE9C,iBAAW,MAAM,gBAAgB;AAEjC,WAAK,OAAO;AACZ,WAAK,QAAQ,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAChD,WAAK,QAAQ,MAAM,MAAM,mBAAmB,CAAC;AAAA,IACjD;AAAA,IAEA,KAAK,WAAqB;AACtB,UAAI,KAAK,UAAU,UAAa,KAAK,UAAU,QAAW;AACtD,eAAO;AAAA,MACX;AAEA,aAAO,IAAI,WAAW,CAAC,GAAM,GAAG,KAAK,OAAO,GAAG,KAAK,KAAK,CAAC;AAAA,IAC9D;AAAA,EACJ;AAGO,EAAMA,aAAA,cAAc;AAAA,IACvB,KAAK,SAAqB,SAAwB;AAC9C,WAAK,aAAa,QAAQ;AAC1B,WAAK,cAAc,QAAQ;AAAA,IAC/B;AAAA,IAEA,KAAK,WAAgD;AACjD,YAAMC,cAAa,KAAK;AACxB,YAAM,cAAc,KAAK;AACzB,UAAIA,gBAAe,UAAa,gBAAgB,QAAW;AACvD;AAAA,MACJ;AACA,aAAO;AAAA,QACH,WAAWA;AAAA,QACX,YAAY;AAAA,MAChB;AAAA,IACJ;AAAA,EACJ;AAAA,GArJM;AAwJV,IAAK,UAAL,kBAAKC,aAAL;AACI,EAAAA,SAAA,eAAY;AACZ,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,UAAO;AACP,EAAAA,SAAA,gBAAa;AACb,EAAAA,SAAA,aAAU;AACV,EAAAA,SAAA,iBAAc;AANb,SAAAA;AAAA,GAAA;AASL,IAAK,eAAL,kBAAKC,kBAAL;AACI,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,WAAQ;AAHP,SAAAA;AAAA,GAAA;AAML,IAAK,kBAAL,kBAAKC,qBAAL;AACI,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,gBAAa;AACb,EAAAA,iBAAA,aAAU;AAHT,SAAAA;AAAA,GAAA;AAML,SAAS,WAAW,KAAU,OAAe;AACzC,MAAI,CAAC,IAAI,OAAO;AAEZ,YAAQ,OAAO;AAAA,MACX,KAAK;AACD,YAAI,QAAQ;AACZ;AAAA,MAEJ,KAAK;AACD,YAAI,QAAQ;AACZ;AAAA,MAEJ,KAAK;AACD,YAAI,QAAQ;AACZ;AAAA,MAEJ;AACI,cAAM,IAAI,cAAc,4CAA4C,KAAK,EAAE;AAAA,IACnF;AAAA,EACJ;AACJ;AAKO,SAAS,IAAI,YAA0B;AAC1C,QAAM,OAAO,CAAC;AAGd,aAAW,OAAO,UAAU;AACxB,QAAK,WAAmB,GAAG,MAAM,OAAW,CAAC,KAAa,GAAG,IAAK,WAAmB,GAAG;AAAA,EAC5F;AACA,WAAS,OAAO,MAAc;AAC1B,UAAM,IAAI,OAAO,yBAAyB,YAAY,IAAI;AAC1D,QAAI,KAAK,EAAE,UAAU,QAAW;AAC5B,MAAC,KAAa,IAAI,IAAI,EAAE;AAAA,IAC5B;AAAA,EACJ;AAKA,SAAO,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,MAAM,MAAM;AACjD,WAAO,eAAe,MAAM,OAAO;AAAA,MAC/B,KAAK,MAAM,KAAK,MAAM;AAAA,MACtB,KAAK,WAAU,KAAK,MAAM,IAAI;AAAA,IAClC,CAAC;AACD,WAAO,KAAK;AAAA,EAChB,CAAC;AAGD,SAAO,QAAQ,YAAY,EAAE,QAAQ,CAAC,CAAC,OAAO,MAAM,MAAM;AACtD,WAAO,eAAe,MAAM,OAAO;AAAA,MAC/B,KAAK,MAAM,KAAK,MAAM,MAAM,UAAa,OAAO,OAAO,KAAK,MAAM,CAAC;AAAA,MACnE,KAAK,WAAU,KAAK,MAAM,IAAI,UAAU,SAAY,SAAY,OAAO,OAAO,OAAO,IAAI;AAAA,IAC7F,CAAC;AACD,WAAO,KAAK;AAAA,EAChB,CAAC;AAGD,SAAO,QAAQ,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,UAAU,MAAM;AACxD,WAAO,eAAe,MAAM,MAAM,UAAiB;AAAA,EACvD,CAAC;AAGD,SAAO,KAAK,WAAW,EAAE,QAAQ,UAAQ,OAAO,IAAI,CAAC;AAGrD,SAAO,QAAQ,eAAe,EAAE,QAAQ,CAAC,CAAC,OAAO,MAAM,MAAM;AACzD,WAAO,eAAe,MAAM,OAAO;AAAA,MAC/B,KAAK,MAAM;AACP,cAAM,SAAS,KAAK,MAAM;AAC1B,YAAI,WAAW,QAAW;AACtB,gBAAM,IAAI,cAAc,aAAa,MAAM,iBAAiB;AAAA,QAChE;AACA,eAAO;AAAA,MACX;AAAA,MAEA,KAAK,CAAC,UAAe;AACjB,aAAK,MAAM,IAAI;AAAA,MACnB;AAAA,IACJ,CAAC;AAED,WAAO,KAAK;AAAA,EAChB,CAAC;AAGD,WAAS,0BAA0B;AAC/B,QAAI,KAAK,SAAS,cAAY,OAAM,IAAI,cAAc,8CAA8C;AACpG,QAAI,CAAC,KAAK,QAAS,OAAM,IAAI,cAAc,iDAAiD;AAE5F,UAAM,MAAM,KAAK;AACjB,QAAI;AAEJ,YAAQ,KAAK;AAAA,MACT,KAAK;AACD,oBAAY;AAIZ;AAAA,MAEJ;AACI,cAAM,IAAI,cAAc,8BAA8B,GAAG,EAAE;AAAA,IACnE;AAGA,UAAM,QAAQ,MAAM,eAAe,KAAK,UAAU;AAGlD,SAAK,QAAQ,gBAAgB,MAAM,GAAG,SAAS;AAC/C,SAAK,QAAQ,gBAAgB,MAAM,GAAG,SAAS;AAAA,EACnD;AAEA,MAAI,KAAK,SAAS,eAAY;AAC1B,QAAI,KAAK,GAAG;AACR,iBAAW,MAAM,KAAK,WAAW,MAAM;AAAA,IAC3C,WAAW,KAAK,OAAO;AACnB,iBAAW,MAAM,KAAK,MAAM,MAAM;AAAA,IACtC;AAEA,QAAI,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI;AAChC,8BAAwB;AAAA,IAC5B;AAAA,EACJ;AAEA,SAAO;AACX;AAKO,SAAS,WAAW,YAAwC,SAAwB;AACvF,MAAI,MAAM;AACV,MAAI,YAAY,OAAO,UAAU,GAAG;AAChC,WAAO;AAAA,EACX,OAAO;AACH,WAAO,WAAW;AAClB,UAAM,WAAW;AAAA,EACrB;AACA,SAAO,IAAI;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,GAAG;AAAA,IACH;AAAA,EACJ,CAAQ;AACZ;AAKO,SAAS,UAAU,WAAuB,SAAwB;AACrE,SAAO,IAAI;AAAA,IACP,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;AAKO,SAAS,aAAa,YAAwB,SAAwB;AACzE,SAAO,IAAI;AAAA,IACP,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;AAOO,SAAS,gBAAkC,SAAgC;AAC9E,SAAO,gBAAgB,KAAK,aAAa,QAAQ,UAAU;AAC/D;",
|
|
5
5
|
"names": ["KeyType", "CurveType", "Asn1ObjectID", "Translators", "publicBits", "Aliases", "Base64Codecs", "AssertedAliases"]
|
|
6
6
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
|
|
8
8
|
import { PrivateKey, PublicKey } from "./Key.js";
|
|
9
|
+
import { WebCrypto } from "./WebCrypto.js";
|
|
9
10
|
/**
|
|
10
11
|
* A {@link Crypto} implementation that uses only JS standards.
|
|
11
12
|
*
|
|
@@ -18,7 +19,8 @@ import { PrivateKey, PublicKey } from "./Key.js";
|
|
|
18
19
|
export declare class StandardCrypto extends Crypto {
|
|
19
20
|
#private;
|
|
20
21
|
implementationName: string;
|
|
21
|
-
constructor(
|
|
22
|
+
constructor(crypto?: WebCrypto);
|
|
23
|
+
protected get subtle(): SubtleCrypto;
|
|
22
24
|
static provider(): StandardCrypto;
|
|
23
25
|
randomBytes(length: number): Uint8Array;
|
|
24
26
|
encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, associatedData?: Uint8Array): Uint8Array<ArrayBufferLike>;
|
|
@@ -30,6 +32,8 @@ export declare class StandardCrypto extends Crypto {
|
|
|
30
32
|
signEcdsa(key: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): Promise<Uint8Array<ArrayBuffer>>;
|
|
31
33
|
verifyEcdsa(key: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): Promise<void>;
|
|
32
34
|
createKeyPair(): Promise<PrivateKey>;
|
|
35
|
+
protected generateJwk(): Promise<JsonWebKey>;
|
|
33
36
|
generateDhSecret(key: PrivateKey, peerKey: PublicKey): Promise<Uint8Array<ArrayBuffer>>;
|
|
37
|
+
protected importKey(format: KeyFormat, keyData: JsonWebKey | BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
|
|
34
38
|
}
|
|
35
39
|
//# sourceMappingURL=StandardCrypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,MAAM,EAA+B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAA2B,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,MAAM,EAA+B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,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,UAAU;IAMvC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU;IAKzF,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU;IAKnF,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE;IAO/C,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAe1F,aAAa,CACf,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,MAAoC;IAgB1C,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;IAK7C,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,iBAAiB;IA+B3F,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB;IA2BrG,aAAa;cAaH,WAAW;IAkBrB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;cAmC1C,SAAS,CACrB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,GAAG,YAAY,EAClC,SAAS,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,EAC/G,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;CAQzC"}
|
|
@@ -18,6 +18,7 @@ const SIGNATURE_ALGORITHM = {
|
|
|
18
18
|
namedCurve: "P-256",
|
|
19
19
|
hash: { name: "SHA-256" }
|
|
20
20
|
};
|
|
21
|
+
const requiredCryptoMethods = ["getRandomValues"];
|
|
21
22
|
const requiredSubtleMethods = [
|
|
22
23
|
"digest",
|
|
23
24
|
"deriveBits",
|
|
@@ -29,28 +30,25 @@ const requiredSubtleMethods = [
|
|
|
29
30
|
];
|
|
30
31
|
class StandardCrypto extends Crypto {
|
|
31
32
|
implementationName = "JS";
|
|
33
|
+
#crypto;
|
|
32
34
|
#subtle;
|
|
33
|
-
constructor(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
const missingMethods = requiredSubtleMethods.filter((name) => typeof subtle[name] !== "function");
|
|
40
|
-
if (missingMethods.length) {
|
|
41
|
-
throw new ImplementationError(
|
|
42
|
-
`SubtleCrypto implementation is missing required method${missingMethods.length === 1 ? "" : "s"} ${describeList("and", ...missingMethods)}`
|
|
43
|
-
);
|
|
44
|
-
}
|
|
35
|
+
constructor(crypto = globalThis.crypto) {
|
|
36
|
+
const { subtle } = crypto;
|
|
37
|
+
assertInterface("crypto", crypto, requiredCryptoMethods);
|
|
38
|
+
assertInterface("crypto.subtle", subtle, requiredSubtleMethods);
|
|
45
39
|
super();
|
|
40
|
+
this.#crypto = crypto;
|
|
46
41
|
this.#subtle = subtle;
|
|
47
42
|
}
|
|
43
|
+
get subtle() {
|
|
44
|
+
return this.#subtle;
|
|
45
|
+
}
|
|
48
46
|
static provider() {
|
|
49
47
|
return new StandardCrypto();
|
|
50
48
|
}
|
|
51
49
|
randomBytes(length) {
|
|
52
50
|
const result = new Uint8Array(length);
|
|
53
|
-
crypto.getRandomValues(result);
|
|
51
|
+
this.#crypto.getRandomValues(result);
|
|
54
52
|
return result;
|
|
55
53
|
}
|
|
56
54
|
encrypt(key, data, nonce, associatedData) {
|
|
@@ -68,7 +66,7 @@ class StandardCrypto extends Crypto {
|
|
|
68
66
|
return new Uint8Array(await this.#subtle.digest("SHA-256", buffer));
|
|
69
67
|
}
|
|
70
68
|
async createPbkdf2Key(secret, salt, iteration, keyLength) {
|
|
71
|
-
const key = await this
|
|
69
|
+
const key = await this.importKey("raw", secret, "PBKDF2", false, ["deriveBits"]);
|
|
72
70
|
const bits = await this.#subtle.deriveBits(
|
|
73
71
|
{
|
|
74
72
|
name: "PBKDF2",
|
|
@@ -82,7 +80,7 @@ class StandardCrypto extends Crypto {
|
|
|
82
80
|
return new Uint8Array(bits);
|
|
83
81
|
}
|
|
84
82
|
async createHkdfKey(secret, salt, info, length = CRYPTO_SYMMETRIC_KEY_LENGTH) {
|
|
85
|
-
const key = await this
|
|
83
|
+
const key = await this.importKey("raw", secret, "HKDF", false, ["deriveBits"]);
|
|
86
84
|
const bits = await this.#subtle.deriveBits(
|
|
87
85
|
{
|
|
88
86
|
name: "HKDF",
|
|
@@ -96,7 +94,7 @@ class StandardCrypto extends Crypto {
|
|
|
96
94
|
return new Uint8Array(bits);
|
|
97
95
|
}
|
|
98
96
|
async signHmac(secret, data) {
|
|
99
|
-
const key = await this
|
|
97
|
+
const key = await this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
|
|
100
98
|
return new Uint8Array(await this.#subtle.sign("HMAC", key, data));
|
|
101
99
|
}
|
|
102
100
|
async signEcdsa(key, data, dsaEncoding) {
|
|
@@ -114,7 +112,7 @@ class StandardCrypto extends Crypto {
|
|
|
114
112
|
// Required by some subtle implementations to sign
|
|
115
113
|
key_ops: ["sign"]
|
|
116
114
|
};
|
|
117
|
-
const subtleKey = await this
|
|
115
|
+
const subtleKey = await this.importKey("jwk", key, SIGNATURE_ALGORITHM, false, ["sign"]);
|
|
118
116
|
const ieeeP1363 = await this.#subtle.sign(SIGNATURE_ALGORITHM, subtleKey, data);
|
|
119
117
|
if (dsaEncoding !== "der") return new Uint8Array(ieeeP1363);
|
|
120
118
|
const bytesPerComponent = ieeeP1363.byteLength / 2;
|
|
@@ -126,7 +124,7 @@ class StandardCrypto extends Crypto {
|
|
|
126
124
|
async verifyEcdsa(key, data, signature, dsaEncoding) {
|
|
127
125
|
const { crv, kty, x, y } = key;
|
|
128
126
|
key = { crv, kty, x, y };
|
|
129
|
-
const subtleKey = await this
|
|
127
|
+
const subtleKey = await this.importKey("jwk", key, SIGNATURE_ALGORITHM, false, ["verify"]);
|
|
130
128
|
if (dsaEncoding === "der") {
|
|
131
129
|
try {
|
|
132
130
|
const decoded = DerCodec.decode(signature);
|
|
@@ -144,6 +142,16 @@ class StandardCrypto extends Crypto {
|
|
|
144
142
|
}
|
|
145
143
|
}
|
|
146
144
|
async createKeyPair() {
|
|
145
|
+
const key = await this.generateJwk();
|
|
146
|
+
return Key({
|
|
147
|
+
kty: KeyType.EC,
|
|
148
|
+
crv: CurveType.p256,
|
|
149
|
+
d: key.d,
|
|
150
|
+
x: key.x,
|
|
151
|
+
y: key.y
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async generateJwk() {
|
|
147
155
|
const subtleKey = await this.#subtle.generateKey(
|
|
148
156
|
{
|
|
149
157
|
// We must specify either ECDH or ECDSA to get an EC key but we may use the key for either (but not for
|
|
@@ -155,17 +163,10 @@ class StandardCrypto extends Crypto {
|
|
|
155
163
|
// We must also specify usage but will drop this on export
|
|
156
164
|
["deriveKey"]
|
|
157
165
|
);
|
|
158
|
-
|
|
159
|
-
return Key({
|
|
160
|
-
kty: KeyType.EC,
|
|
161
|
-
crv: CurveType.p256,
|
|
162
|
-
d: key.d,
|
|
163
|
-
x: key.x,
|
|
164
|
-
y: key.y
|
|
165
|
-
});
|
|
166
|
+
return await this.#subtle.exportKey("jwk", subtleKey.privateKey);
|
|
166
167
|
}
|
|
167
168
|
async generateDhSecret(key, peerKey) {
|
|
168
|
-
const subtleKey = await this
|
|
169
|
+
const subtleKey = await this.importKey(
|
|
169
170
|
"jwk",
|
|
170
171
|
key,
|
|
171
172
|
{
|
|
@@ -175,7 +176,7 @@ class StandardCrypto extends Crypto {
|
|
|
175
176
|
false,
|
|
176
177
|
["deriveBits"]
|
|
177
178
|
);
|
|
178
|
-
const subtlePeerKey = await this
|
|
179
|
+
const subtlePeerKey = await this.importKey(
|
|
179
180
|
"jwk",
|
|
180
181
|
peerKey,
|
|
181
182
|
{
|
|
@@ -195,16 +196,29 @@ class StandardCrypto extends Crypto {
|
|
|
195
196
|
);
|
|
196
197
|
return new Uint8Array(secret);
|
|
197
198
|
}
|
|
198
|
-
async
|
|
199
|
+
async importKey(format, keyData, algorithm, extractable, keyUsages) {
|
|
199
200
|
try {
|
|
200
|
-
return await this.#subtle.importKey(
|
|
201
|
+
return await this.#subtle.importKey(format, keyData, algorithm, extractable, keyUsages);
|
|
201
202
|
} catch (cause) {
|
|
202
203
|
throw new KeyInputError("Invalid key", { cause });
|
|
203
204
|
}
|
|
204
205
|
}
|
|
205
206
|
}
|
|
207
|
+
function assertInterface(name, object, requiredMethods) {
|
|
208
|
+
if (typeof object !== "object" || object === null) {
|
|
209
|
+
throw new ImplementationError(
|
|
210
|
+
`The ${name} implementation passed to StandardCrypto is invalid (received ${typeof object})`
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
const missingMethods = requiredMethods.filter((name2) => typeof object[name2] !== "function");
|
|
214
|
+
if (missingMethods.length) {
|
|
215
|
+
throw new ImplementationError(
|
|
216
|
+
`The ${name} implementation passed to StandardCrypto is missing required method${missingMethods.length === 1 ? "" : "s"} ${describeList("and", ...missingMethods)}`
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
206
220
|
if ("crypto" in globalThis && globalThis.crypto?.subtle) {
|
|
207
|
-
Environment.default.set(Crypto, new StandardCrypto(
|
|
221
|
+
Environment.default.set(Crypto, new StandardCrypto());
|
|
208
222
|
}
|
|
209
223
|
export {
|
|
210
224
|
StandardCrypto
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/StandardCrypto.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,YAAY,UAAU,gBAAgB;AAC/C,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC,SAAS,aAAa;AACtB,SAAS,oBAAoB;AAC7B,SAAS,WAAW;AACpB,SAAS,QAAQ,mCAAsD;AACvE,SAAS,mBAAmB,qBAAqB;AACjD,SAAS,WAAW,KAAK,eAAsC;
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["name"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Our "Crypto" interface masks the standard web crypto "Crypto" type provided by typescript. Make an alias to work
|
|
8
|
+
* around this.
|
|
9
|
+
*/
|
|
10
|
+
export interface WebCrypto extends Crypto {
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=WebCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/WebCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM;CAAG"}
|
|
@@ -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,cAAc,CAAC;AAC7B,cAAc,qBAAqB,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,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
|
package/dist/esm/crypto/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|