-
-
Notifications
You must be signed in to change notification settings - Fork 279
/
Copy pathdeviceAuthenticityConfig.ts
105 lines (101 loc) · 6.16 KB
/
deviceAuthenticityConfig.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
import { Static, Type } from '@trezor/schema-utils';
import { PROTO } from '../constants';
type CertPubKeys = Static<typeof CertPubKeys>;
const CertPubKeys = Type.Object({
rootPubKeys: Type.Array(Type.String()),
caPubKeys: Type.Array(Type.String()),
});
// NOTE: only T2B1 model is required in config, other models should be optional and undefined
type ModelPubKeys = Static<typeof ModelPubKeys>;
const ModelPubKeys = Type.Intersect([
Type.Record(
Type.Exclude(
Type.KeyOfEnum(PROTO.DeviceModelInternal),
Type.Union([Type.Literal('T1B1'), Type.Literal('T2T1')]),
),
Type.Intersect([
CertPubKeys,
Type.Object({
debug: Type.Optional(CertPubKeys),
}),
]),
),
Type.Partial(
Type.Record(
Type.Exclude(
Type.KeyOfEnum(PROTO.DeviceModelInternal),
Type.Union([Type.Literal('T2B1'), Type.Literal('T3T1')]),
),
Type.Undefined(),
),
),
]);
export type DeviceAuthenticityConfig = Static<typeof DeviceAuthenticityConfig>;
export const DeviceAuthenticityConfig = Type.Intersect([
ModelPubKeys,
Type.Object({
version: Type.Number(),
timestamp: Type.String(),
}),
]);
/**
* How to update this config or check Sentry "Device authenticity invalid!" error? Please read this internal description:
* https://www.notion.so/satoshilabs/Device-authenticity-check-b8656a0fe3ab4a0d84c61534a73de462?pvs=4
*/
export const deviceAuthenticityConfig: DeviceAuthenticityConfig = {
version: 1,
timestamp: '2023-04-17T12:00:00+00:00',
T2B1: {
rootPubKeys: [
'04ca97480ac0d7b1e6efafe518cd433cec2bf8ab9822d76eafd34363b55d63e60380bff20acc75cde03cffcb50ab6f8ce70c878e37ebc58ff7cca0a83b16b15fa5',
],
caPubKeys: [
'04b12efa295ad825a534b7c0bf276e93ad116434426763fa87bfa8a2f12e726906dcf566813f62eba8f8795f94dba0391c53682809cbbd7e4ba01d960b4f1c68f1',
'04cb87d4c5d0fd5854e829f4c1b666e49a86c25c88a904c0feb66f1338faed0d7760010d7ea1a6474cbcfe1143bd4b5397a4e8b7fe86899113caecf42a984b0c0f',
'0450c45878b2c6403a5a16e97a8957dc3ea36919bce9321b357f6e7ebe6257ee54102a2c2fa5cefed1dabc498fc76dc0bcf3c3a8a415eac7cc32e7c18185f25b0d',
'0454d310d88d55d3044d80fcdbce9a63bf3118545fae71f6eca303272dcc4d25cf775ae3c18ae9f41b2cf29377bc4696fc79c8824a6fd6b9ca5fb6805ed6557aab',
'04e94bf05586a8e7a3e9aba32662a439be5f378da372219c8ee7cf8b4684dbfbd7ba88ed920c06f9f26deab9077654647738df8cf70898fea1c3aaf2ef086fc578',
'048c6c104bd7cc59cd5c5717533786a72ab59685bd13937f5542820e90f6ac6945e520e19d1d627a8e81ef5a94ef87de7a6a0d778e7dc9d389db877a5f9b629dd8',
'0467f8860c56b35985b0f53eb04e9187ccf216e1c08327d71231f5dafe92df5c0f1b4dc8ebdcd2f42d0e20c61c493ba2a67d2c354cb57255b0b7dcf7c2196b8277',
'049faf57b307013e9fed7564956d4a10938326df2e5d3df0456a0525af5f74ddfb88ba7a37c4c04435ffdca33b4fdf2626afbe65fe5c8fc0c6737de3313b85f229',
'04e3f9053b38000ef590f9cfb48337ef6ea7b387e00f514481f75ac8870b794e81808ea7e12cf86a7b756acb82148f2373541d21b443b6ba389e02f15348bbabf6',
'04fdbce7dafecc7808c2e047b5ad6b688c9e37529dfefbe96ba8a092895b5e669e93165abac1720f8fd5d607e35f4663cacf9bacd6e90aa97524401af65490f401',
'04c408e8a873c12256278c360bd7f35533e703b2f65daecf665a4711ebe6297f82ae2bf8ca60ff7261a69939c10a5cf81c17b7c5aac93cbd73136609c00ecd1666',
'04850fa71163c60bb92b254d9d4a0c664c1ffef9f5d7ea00c4fa4169b0661dc1918bb2d24b2b4d1202701a753552868aaff9514ae81128671e615a96f0ce90a29c',
'04c99f57eaaca8db0245a46dba5288a4c0b0d6acdd1346feef7770ec6b88d28d6640ee19c3f6d984e8fcfceda11b1e4accefda32b950dcd1785fbd16c2e45493a3',
'049c288f4de8a239be83955ed260f40c1a4126fb7dc513601dde4cb11f7363d6a259e73cb1bd9283a450ae608d1832c5fd0cbd9526c0285e720fa45494cae981fd',
'04ac1815177cc1f07700e5f18c05522427413f404bacc987eb1cf9d86f96b9e0cc53ef5941eafd483102eea321205d7dd9271ac2d0fca75a9a43deb824b51f1596',
'049f91ac8c7dac26fa7eb82ff3fb8c6d24978bbaeed1adb0751342a8c4c88152817d50bd0b4c16d8fb85bf12f46dca0674a398aeecbb3d1a01236cd3eb39d24c55',
'04c5225b6d8b84401c408ad0a5aa47888e9087451a2ca4440e46efed5765fd2f5bf8f068e1cfea18dddfc5b47b19076ce0a84fbcf7269f9578d9b978679dea4189',
'04e349de85981f8e7d95ca4b44346924a9df62875971cfc5e21fc042c3a8fb3e1ddfeac139c15fcf3f7968242a418fc80e92c98f5aef39672b13b60d0b2335c84c',
],
debug: {
rootPubKeys: [
'047f77368dea2d4d61e989f474a56723c3212dacf8a808d8795595ef38441427c4389bc454f02089d7f08b873005e4c28d432468997871c0bf286fd3861e21e96a',
],
caPubKeys: [
'04ba6084cb9fba7c86d5d5a86108a91d55a27056da4eabbedde88a95e1cae8bce3620889167aaf7f2db166998f950984aa195e868f96e22803c3cd991be31d39e7',
],
},
},
T3T1: {
rootPubKeys: [
'041854b27fb1d9f65abb66828e78c9dc0ca301e66081ab0c6a4d104f9df1cd0ad5a7c75f77a8c092f55cf825d2abaf734f934c9394d5e75f75a5a06a5ee9be93ae',
],
caPubKeys: [
'045b785b703810363deeadc0faa5a7388d8385f5e4f9170a3c27d3d2506bf9090d5b09044fbad6b906446d8cdb754b65869e8992b26a344e01ecff75844fe5a3d6',
'046442ece98b1cd13389b6eda3235e2848becc655db564897b2dc0862580f69b29be59dc30f92820f41a7a493b90623e66e1ee8529dbfd60d50aed97b46c4b8f64',
'0416960078e1d2b44df717ff5445ec76f4247333375982c5ae59b3bc223371f3cf81e7c182fd1ca36c95977070e2ff46f998bff3f00ab0de266edfdd430aea56b8',
],
debug: {
rootPubKeys: [
'047f77368dea2d4d61e989f474a56723c3212dacf8a808d8795595ef38441427c4389bc454f02089d7f08b873005e4c28d432468997871c0bf286fd3861e21e96a',
],
caPubKeys: [
'04829e8965018feb542e9236c9b2ce08f864a55ed9183d0259564f0e05345b04676a0bef36c59d21d3c24868b5601f0b1193a6bfcf6d814e1cfb79c2256a05e953',
'046f64eff0dfa3ceeae9708a3881fc09a3dae62198559d022d120e96edc168f3991a9e9b016635a0d43997ee55d8c2b37d969e8abc84e75c791ec911108b52f3c7',
'041260c3c1fd4ddfc97ba19732d5dcbe6efab61d58af83281b95d6cdb30606bf08f0b817eb6db2825b5ce32d0cc2c275b7eadcedaa1805f00b3f5a11668b6c5cb5',
],
},
},
};