@motebit/crypto-tpm 1.0.0 → 1.1.0
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/README.md +3 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/tpm-roots.d.ts +84 -38
- package/dist/tpm-roots.d.ts.map +1 -1
- package/dist/tpm-roots.js +166 -73
- package/dist/tpm-roots.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -38,9 +38,10 @@ TPM 2.0's `TPMS_ATTEST` structure is ~100 lines of big-endian length-prefixed ma
|
|
|
38
38
|
|
|
39
39
|
- [`@motebit/crypto`](https://www.npmjs.com/package/@motebit/crypto) — dispatcher (pure permissive-floor; zero deps)
|
|
40
40
|
- [`@motebit/crypto-appattest`](https://www.npmjs.com/package/@motebit/crypto-appattest) — iOS sibling
|
|
41
|
-
- [`@motebit/crypto-
|
|
41
|
+
- [`@motebit/crypto-android-keystore`](https://www.npmjs.com/package/@motebit/crypto-android-keystore) — Android sibling (canonical sovereign-verifiable Android primitive)
|
|
42
42
|
- [`@motebit/crypto-webauthn`](https://www.npmjs.com/package/@motebit/crypto-webauthn) — browser sibling
|
|
43
|
-
- [`@motebit/
|
|
43
|
+
- [`@motebit/crypto-play-integrity`](https://www.npmjs.com/package/@motebit/crypto-play-integrity) — _(deprecated — see `crypto-android-keystore`)_
|
|
44
|
+
- [`@motebit/verify`](https://www.npmjs.com/package/@motebit/verify) — canonical CLI bundling the platform leaves with motebit defaults
|
|
44
45
|
|
|
45
46
|
## License
|
|
46
47
|
|
package/dist/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ import type { TpmVerifyResult } from "./verify.js";
|
|
|
30
30
|
export { verifyTpmQuote } from "./verify.js";
|
|
31
31
|
export type { TpmVerifyOptions, TpmVerifyResult, TpmVerifyError } from "./verify.js";
|
|
32
32
|
export { parseTpmsAttest, composeTpmsAttestForTest, TPM_GENERATED_VALUE, TPM_ST_ATTEST_QUOTE, type TpmsAttest, } from "./tpm-parse.js";
|
|
33
|
-
export { DEFAULT_PINNED_TPM_ROOTS, INFINEON_TPM_EK_ROOT_PEM, NUVOTON_TPM_EK_ROOT_PEM, STMICRO_TPM_EK_ROOT_PEM, INTEL_PTT_EK_ROOT_PEM, TPM_PLATFORM, } from "./tpm-roots.js";
|
|
33
|
+
export { DEFAULT_PINNED_TPM_ROOTS, INFINEON_TPM_EK_ROOT_PEM, NUVOTON_TPM_EK_ROOT_PEM, STMICRO_TPM_EK_RSA_ROOT_PEM, STMICRO_TPM_EK_ECC_ROOT_PEM, STMICRO_TPM_EK_ROOT_PEM, INTEL_PTT_EK_ROOT_PEM, TPM_PLATFORM, } from "./tpm-roots.js";
|
|
34
34
|
/**
|
|
35
35
|
* Shape the optional verifier injected into `@motebit/crypto`'s
|
|
36
36
|
* `HardwareAttestationVerifiers.tpm` slot carries — mirrors the
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,eAAe,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,CAAC,EAAE,iBAAiB,GACzB,CACD,KAAK,EAAE,wBAAwB,EAC/B,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAwB9B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAE3B,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,eAAe,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,CAAC,EAAE,iBAAiB,GACzB,CACD,KAAK,EAAE,wBAAwB,EAC/B,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAwB9B"}
|
package/dist/index.js
CHANGED
|
@@ -28,7 +28,9 @@
|
|
|
28
28
|
import { verifyTpmQuote } from "./verify.js";
|
|
29
29
|
export { verifyTpmQuote } from "./verify.js";
|
|
30
30
|
export { parseTpmsAttest, composeTpmsAttestForTest, TPM_GENERATED_VALUE, TPM_ST_ATTEST_QUOTE, } from "./tpm-parse.js";
|
|
31
|
-
export { DEFAULT_PINNED_TPM_ROOTS, INFINEON_TPM_EK_ROOT_PEM, NUVOTON_TPM_EK_ROOT_PEM,
|
|
31
|
+
export { DEFAULT_PINNED_TPM_ROOTS, INFINEON_TPM_EK_ROOT_PEM, NUVOTON_TPM_EK_ROOT_PEM, STMICRO_TPM_EK_RSA_ROOT_PEM, STMICRO_TPM_EK_ECC_ROOT_PEM,
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- maintained for one minor cycle; consumers should migrate to the explicit RSA / ECC constants. Removed in 2.0.0.
|
|
33
|
+
STMICRO_TPM_EK_ROOT_PEM, INTEL_PTT_EK_ROOT_PEM, TPM_PLATFORM, } from "./tpm-roots.js";
|
|
32
34
|
/**
|
|
33
35
|
* Factory — build a `tpm` verifier bound to an optional test-root /
|
|
34
36
|
* clock / context override. The returned function matches the
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAuDxB;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,MAA0B;IAM1B,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;QACnD,gEAAgE;QAChE,mEAAmE;QACnE,mDAAmD;QACnD,MAAM,SAAS,GAAG,OAAO,EAAE,iBAAiB,IAAI,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC;QACnF,MAAM,QAAQ,GAAG,OAAO,EAAE,gBAAgB,IAAI,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC;QAChF,MAAM,UAAU,GAAG,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC;QACtF,MAAM,IAAI,GAAqB;YAC7B,4BAA4B,EAAE,mBAAmB;YACjD,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,kBAAkB,EAAE,MAAM;SAC3B,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B;AAC3B,+KAA+K;AAC/K,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAuDxB;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,MAA0B;IAM1B,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;QACnD,gEAAgE;QAChE,mEAAmE;QACnE,mDAAmD;QACnD,MAAM,SAAS,GAAG,OAAO,EAAE,iBAAiB,IAAI,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC;QACnF,MAAM,QAAQ,GAAG,OAAO,EAAE,gBAAgB,IAAI,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC;QAChF,MAAM,UAAU,GAAG,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC;QACtF,MAAM,IAAI,GAAqB;YAC7B,4BAA4B,EAAE,mBAAmB;YACjD,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,kBAAkB,EAAE,MAAM;SAC3B,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/tpm-roots.d.ts
CHANGED
|
@@ -16,68 +16,114 @@
|
|
|
16
16
|
*
|
|
17
17
|
* - Infineon (`OptigaTrustM`, `SLB966x` families)
|
|
18
18
|
* - Nuvoton (`NPCT7xx` family)
|
|
19
|
-
* - STMicroelectronics (`ST33TPHF2ESPI`, `ST33HTPH2E32AHB3
|
|
19
|
+
* - STMicroelectronics (`ST33TPHF2ESPI`, `ST33HTPH2E32AHB3`,
|
|
20
|
+
* `ST33KTPM2X` families) — RSA + ECC parallel
|
|
21
|
+
* roots; both pinned
|
|
20
22
|
* - Intel PTT (firmware TPM bundled with Intel CSME)
|
|
21
23
|
*
|
|
22
24
|
* AMD fTPM (firmware TPM bundled with AMD PSP) uses a vendor-signed
|
|
23
25
|
* chain that roots to AMD's EK CA; that root is additive and lands in
|
|
24
26
|
* a subsequent pass once the first AMD-shaped test vector is captured.
|
|
25
27
|
*
|
|
26
|
-
* ##
|
|
28
|
+
* ## Real-fixture coverage is a separate concern
|
|
27
29
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* `
|
|
30
|
+
* Pinning the production vendor root bytes (this file) is one half of
|
|
31
|
+
* the moat-provability claim. The other half — proving the verifier
|
|
32
|
+
* agrees with what real hardware emits in the wild — requires a
|
|
33
|
+
* captured TPM2_Quote from an actual device with its full AK→vendor-
|
|
34
|
+
* root chain. Real-device captures expose serial-number-grade chip
|
|
35
|
+
* identity (each device's EK cert is unique by design), so projects
|
|
36
|
+
* systemically don't publish them. Real-fixture coverage stays deferred
|
|
37
|
+
* to an owned-hardware capture session; see
|
|
38
|
+
* `docs/doctrine/hardware-attestation.md` §"Real TPM fixture status".
|
|
39
|
+
* The `rootPems` test override path remains for synthetic chain-
|
|
40
|
+
* verification tests that don't require a real-device fixture.
|
|
41
|
+
*
|
|
42
|
+
* Each constant below ships its real vendor-published bytes. Each
|
|
43
|
+
* comment names: source URL, subject DN, SHA-256 fingerprint, and
|
|
44
|
+
* validity window. The fingerprint is the audit anchor — a third-party
|
|
45
|
+
* verifier that fetches the same vendor URL and computes its own
|
|
46
|
+
* SHA-256 should reach the byte-identical value below.
|
|
38
47
|
*/
|
|
39
48
|
/**
|
|
40
|
-
* Infineon OPTIGA
|
|
41
|
-
*
|
|
42
|
-
* Published at: https://pki.infineon.com/OptigaEccRootCA/OptigaEccRootCA.crt
|
|
49
|
+
* Infineon OPTIGA(TM) ECC Root CA.
|
|
43
50
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
51
|
+
* Source: https://pki.infineon.com/OptigaEccRootCA/OptigaEccRootCA.crt
|
|
52
|
+
* Subject: C=DE, O=Infineon Technologies AG, OU=OPTIGA(TM) Devices,
|
|
53
|
+
* CN=Infineon OPTIGA(TM) ECC Root CA
|
|
54
|
+
* SHA-256: cfeb02fecd55ad7a73c6e1d11985d4c47dee248ab63dcb66091a2489660443c3
|
|
55
|
+
* Public key: ECDSA P-384
|
|
56
|
+
* Validity: 2013-07-26 → 2043-07-25
|
|
46
57
|
*/
|
|
47
|
-
export declare const INFINEON_TPM_EK_ROOT_PEM = "-----BEGIN CERTIFICATE-----\
|
|
58
|
+
export declare const INFINEON_TPM_EK_ROOT_PEM = "-----BEGIN CERTIFICATE-----\nMIICWzCCAeKgAwIBAgIBBDAKBggqhkjOPQQDAzB3MQswCQYDVQQGEwJERTEhMB8G\nA1UECgwYSW5maW5lb24gVGVjaG5vbG9naWVzIEFHMRswGQYDVQQLDBJPUFRJR0Eo\nVE0pIERldmljZXMxKDAmBgNVBAMMH0luZmluZW9uIE9QVElHQShUTSkgRUNDIFJv\nb3QgQ0EwHhcNMTMwNzI2MDAwMDAwWhcNNDMwNzI1MjM1OTU5WjB3MQswCQYDVQQG\nEwJERTEhMB8GA1UECgwYSW5maW5lb24gVGVjaG5vbG9naWVzIEFHMRswGQYDVQQL\nDBJPUFRJR0EoVE0pIERldmljZXMxKDAmBgNVBAMMH0luZmluZW9uIE9QVElHQShU\nTSkgRUNDIFJvb3QgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQm1HxLVgvAu1q2\nGM+ymTz12zdTEu0JBVG9CdsVEJv/pE7pSWOlsG3YwU792YAvjSy7zL+WtDK40KGe\nOm8bSWt46QJ00MQUkYxz6YqXbb14BBr06hWD6u6IMBupNkPd9pKjQjBAMB0GA1Ud\nDgQWBBS0GIXISkrFEnryQDnexPWLHn5K0TAOBgNVHQ8BAf8EBAMCAAYwDwYDVR0T\nAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjA6QZcV8DjjbPuKjKDZQmTRywZk\nMAn8wE6kuW3EouVvBt+/2O+szxMe4vxj8R6TDCYCMG7c9ov86ll/jDlJb/q0L4G+\n+O3Bdel9P5+cOgzIGANkOPEzBQM3VfJegfnriT/kaA==\n-----END CERTIFICATE-----\n";
|
|
48
59
|
/**
|
|
49
|
-
* Nuvoton
|
|
60
|
+
* Nuvoton TPM Root CA 2110.
|
|
50
61
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
62
|
+
* Source: https://www.nuvoton.com/security/NTC-TPM-EK-Cert/Nuvoton TPM Root CA 2110.cer
|
|
63
|
+
* Subject: CN=Nuvoton TPM Root CA 2110, O=Nuvoton Technology Corporation, C=TW
|
|
64
|
+
* SHA-256: 4aebe77a51ed29959a7f9f5e07a24a558dee8167f3985d724995a541c258dfda
|
|
65
|
+
* Public key: ECDSA P-256
|
|
66
|
+
* Validity: 2015-10-19 → 2035-10-15
|
|
55
67
|
*/
|
|
56
|
-
export declare const NUVOTON_TPM_EK_ROOT_PEM = "-----BEGIN CERTIFICATE-----\
|
|
68
|
+
export declare const NUVOTON_TPM_EK_ROOT_PEM = "-----BEGIN CERTIFICATE-----\nMIICBjCCAaygAwIBAgIIP5MvnZk8FrswCgYIKoZIzj0EAwIwVTFTMB8GA1UEAxMY\nTnV2b3RvbiBUUE0gUm9vdCBDQSAyMTEwMCUGA1UEChMeTnV2b3RvbiBUZWNobm9s\nb2d5IENvcnBvcmF0aW9uMAkGA1UEBhMCVFcwHhcNMTUxMDE5MDQzMjAwWhcNMzUx\nMDE1MDQzMjAwWjBVMVMwHwYDVQQDExhOdXZvdG9uIFRQTSBSb290IENBIDIxMTAw\nJQYDVQQKEx5OdXZvdG9uIFRlY2hub2xvZ3kgQ29ycG9yYXRpb24wCQYDVQQGEwJU\nVzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPv9uK2BNm8/nmIyNsc2/aKHV0WR\nptzge3jKAIgUMosQIokl4LE3iopXWD3Hruxjf9vkLMDJrTeK3hWh2ySS4ySjZjBk\nMA4GA1UdDwEB/wQEAwICBDASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSf\nu3mqD1JieL7RUJKacXHpajW+9zAfBgNVHSMEGDAWgBSfu3mqD1JieL7RUJKacXHp\najW+9zAKBggqhkjOPQQDAgNIADBFAiEA/jiywhOKpiMOUnTfDmXsXfDFokhKVNTX\nB6Xtqm7J8L4CICjT3/Y+rrSnf8zrBXqWeHDh8Wi41+w2ppq6Ev9orZFI\n-----END CERTIFICATE-----\n";
|
|
57
69
|
/**
|
|
58
|
-
*
|
|
70
|
+
* STSAFE RSA Root CA 02 — STMicroelectronics's RSA-PKI anchor for the
|
|
71
|
+
* ST33 / STSAFE-TPM family. Modern ST33xxx devices provision EK certs
|
|
72
|
+
* under either this RSA root or the parallel ECC root below; pin both.
|
|
59
73
|
*
|
|
60
|
-
*
|
|
74
|
+
* Source: https://sw-center.st.com/STSAFE/STSAFERsaRootCA02.crt
|
|
75
|
+
* Reference: ST Technical Note TN1330
|
|
76
|
+
* Subject: C=CH, O=STMicroelectronics NV, CN=STSAFE RSA Root CA 02
|
|
77
|
+
* SHA-256: c8f179943356e13d9d84b100201cefabbf408880241e5329e60d950ce1dea623
|
|
78
|
+
* Public key: RSA-4096
|
|
79
|
+
* Validity: 2022-01-20 → 9999-12-31
|
|
80
|
+
*/
|
|
81
|
+
export declare const STMICRO_TPM_EK_RSA_ROOT_PEM = "-----BEGIN CERTIFICATE-----\nMIIFXjCCA0agAwIBAgIGVR0gAAACMA0GCSqGSIb3DQEBDAUAME0xCzAJBgNVBAYT\nAkNIMR4wHAYDVQQKExVTVE1pY3JvZWxlY3Ryb25pY3MgTlYxHjAcBgNVBAMTFVNU\nU0FGRSBSU0EgUm9vdCBDQSAwMjAgFw0yMjAxMjAwMDAwMDBaGA85OTk5MTIzMTAw\nMDAwMFowTTELMAkGA1UEBhMCQ0gxHjAcBgNVBAoTFVNUTWljcm9lbGVjdHJvbmlj\ncyBOVjEeMBwGA1UEAxMVU1RTQUZFIFJTQSBSb290IENBIDAyMIICIjANBgkqhkiG\n9w0BAQEFAAOCAg8AMIICCgKCAgEAyDtHbW51K/pnDbnPdLQTls2U/bu/aDATTi1W\nCZDAtFC9sWtCRK6jQ0SG9DCCys7ur170V3Q+HVov88FzH6bYg4TWY7+wEQKLR/4W\nIgdCjcW3uXMimsh9tOb+UlfRMW0yEozi7F+F/v07lULTJg+itCOMASi/caV1ySYI\ncX5z/5Woj3hDgJGa4scOoxdOfPg1GCkEjQPy7fG/IBt883palE/T4UNg1megfLcg\nhjOrbaPTFB3qXmm6E07QDYMkPiqryz3v9MCnOw62EXGcQLFIK4DwPxySU7NxO0ta\nDHXv+8B5ljv4Jtx5OLkDf9YAfjEg6ZOpsyIGKI+bgIoVYtGbXTDZAtoMKw3ystQX\nva9ceQ4cIQQUjpH6nFm8dbm/TOrkZd6m9pmLftR6kTuzRd8hhKCwpfcKbxQlMI2u\nTDVbw03IFUhk23uDSTOzsyOjB2f93SLEw1yTBuiYXhO2YHUHFJckbiuz7RdE4sjN\n1J0LwxKKbm9kleYEP+Kah6IJ0Zs7vbP3WNZUpmt6/XTmszb+paTSpanUYbBr2/IE\naQCRiAlv0H26i5u4CjSHRjjRIqLAuGnpn0gZ2Zgs1espJwmey7MPKvTJtK1H+TQN\n0HZW8DYtcdzPkpxqKndWIUR7JTnozVPCVOcirSPGdkSvhbAGPyoyv7ju86RnTiT0\nNLz7SbECAwEAAaNCMEAwHQYDVR0OBBYEFHzCjb5uWdhKVANGmxMIANL48G0nMA4G\nA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBDAUAA4IC\nAQCykiyYyHAXHzRBdqJ3QLr8qTDDNO3RdLToZmiFRdslaRr2RtlDDjcAEFKf1u/E\n1qprZe926Ob5KxWIQREvDAgqAbRS9fd3+w6hZ+ZrmHNh5aH2UEgsfAi9vZ3K8BH/\nrReqTm0oxCMz4socJ9tIpvGSZhJg6PDTidsIscr8iNcSsVYJO60wSMxn7tv+Buh+\nZgJFddzEYZqTuezsdiXswkAkwqTJY9KM1w0bFLHrmifkc0y6I+jeBgjGxMknz8G5\np7YX4GoeJp5LjM8z36qBFKcjkKpYEb2H+u6CxgXFsxu6nkB0pn3u2uNwmXTYIQKO\ntrcshrmoKUv7mDvtaNIa0blMTRTEZzkwrR1BsHm/Gz7NLhgkDIv9p1u5oiCwlebh\neJ1cDJ9I7puSBPiDDpkdvVPg0wNFPai/SAhjW0OaULcybVR7kXzST9/xerCoquYp\nI+qLjTs+RqahgL5a9ZRPVABX3DwvnDCarwVqMSfRjGP4e8b2BspDM+wPTvQH1K4O\nxk+qc9HT7YubzqhtJ/yfcYd/eKTsk60aNmknatNZDSFzq03lxN048n3D9mcjGDkR\n15Kv5NX8DhZuCNcBddkGC96uYpgSvl089RgnSL/qPlM+QlVjPbqDpISd/z3X4RNb\nvdT+agOdZZJRB1MROQXDnACVdQB1ba/DTO4UNEou27D03Q==\n-----END CERTIFICATE-----\n";
|
|
82
|
+
/**
|
|
83
|
+
* STSAFE ECC Root CA 02 — STMicroelectronics's ECC-PKI anchor for the
|
|
84
|
+
* ST33 / STSAFE-TPM family. Sibling of the RSA root above; modern ST33
|
|
85
|
+
* devices use one or the other depending on EK template firmware.
|
|
61
86
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
87
|
+
* Source: https://sw-center.st.com/STSAFE/STSAFEEccRootCA02.crt
|
|
88
|
+
* Reference: ST Technical Note TN1330
|
|
89
|
+
* Subject: C=CH, O=STMicroelectronics NV, CN=STSAFE ECC Root CA 02
|
|
90
|
+
* SHA-256: fd1e7b68accd825636b27b3177c67402d463a7f04c97b6c47ab705fcdc1a04f6
|
|
91
|
+
* Public key: ECDSA P-521
|
|
92
|
+
* Validity: 2022-01-20 → 9999-12-31
|
|
64
93
|
*/
|
|
65
|
-
export declare const
|
|
94
|
+
export declare const STMICRO_TPM_EK_ECC_ROOT_PEM = "-----BEGIN CERTIFICATE-----\nMIICWjCCAbugAwIBAgIGVR0gAAECMAoGCCqGSM49BAMEME0xCzAJBgNVBAYTAkNI\nMR4wHAYDVQQKExVTVE1pY3JvZWxlY3Ryb25pY3MgTlYxHjAcBgNVBAMTFVNUU0FG\nRSBFQ0MgUm9vdCBDQSAwMjAgFw0yMjAxMjAwMDAwMDBaGA85OTk5MTIzMTAwMDAw\nMFowTTELMAkGA1UEBhMCQ0gxHjAcBgNVBAoTFVNUTWljcm9lbGVjdHJvbmljcyBO\nVjEeMBwGA1UEAxMVU1RTQUZFIEVDQyBSb290IENBIDAyMIGbMBAGByqGSM49AgEG\nBSuBBAAjA4GGAAQAJFgkbtp5mZpvISjL8zAUSSJXxXpPhxhSVGQfqU0GEjPBIMMD\nKNvc23xCcyIsiFTMD4MZQ1wov0SaBE3M31bWx78BrbiPCJ4lXUvJWiwm9+v3EL1z\nlznBtyJDYUkrUe2n7r8NH7kAQ1X/csItvyomECdRtm4wwD8VX1n+l3npVlMNOxWj\nQjBAMB0GA1UdDgQWBBT1XLcHvEsXQiYkgEBLu3yAulo8vjAOBgNVHQ8BAf8EBAMC\nAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDBAOBjAAwgYgCQgC85uufYwd5\nyelX2EKkjx7s8LP6qgcXHxkO1zZYrTU7umomS5beVyPf2hA12yPVG9VnYUqs9+RA\nL0mbODJNfHR5yAJCAUf2a5qPe3a/BpZBoY7YI68nUt1UD8ScX+IbkLJQ6mPe8pNR\nxRJfSy8RvtTJcPEqH7kpj5sZjlRC5GUG/3Sco8uX\n-----END CERTIFICATE-----\n";
|
|
66
95
|
/**
|
|
67
|
-
* Intel
|
|
68
|
-
*
|
|
96
|
+
* Intel TPM EK Root Certificate (used by Intel PTT, the firmware TPM
|
|
97
|
+
* bundled with Intel CSME).
|
|
69
98
|
*
|
|
70
|
-
*
|
|
99
|
+
* Source: https://upgrades.intel.com/content/CRL/ekcert/EKRootPublicKey.cer
|
|
100
|
+
* Subject: C=US, ST=CA, L=Santa Clara, O=Intel Corporation,
|
|
101
|
+
* OU=TPM EK root cert signing, CN=www.intel.com
|
|
102
|
+
* SHA-256: 2e1b3ba79af56d758be51697621bc4b9e8cee0983db3e749c55eb9b37c6d2ae0
|
|
103
|
+
* Public key: ECDSA P-256
|
|
104
|
+
* Validity: 2014-01-15 → 2049-12-31
|
|
105
|
+
*/
|
|
106
|
+
export declare const INTEL_PTT_EK_ROOT_PEM = "-----BEGIN CERTIFICATE-----\nMIICdzCCAh6gAwIBAgIUB+dPf7a3IyJGO923z34oQLRP7pwwCgYIKoZIzj0EAwIw\ngYcxCzAJBgNVBAYMAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xh\ncmExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0aW9uMSEwHwYDVQQLDBhUUE0gRUsg\ncm9vdCBjZXJ0IHNpZ25pbmcxFjAUBgNVBAMMDXd3dy5pbnRlbC5jb20wHhcNMTQw\nMTE1MDAwMDAwWhcNNDkxMjMxMjM1OTU5WjCBhzELMAkGA1UEBgwCVVMxCzAJBgNV\nBAgMAkNBMRQwEgYDVQQHDAtTYW50YSBDbGFyYTEaMBgGA1UECgwRSW50ZWwgQ29y\ncG9yYXRpb24xITAfBgNVBAsMGFRQTSBFSyByb290IGNlcnQgc2lnbmluZzEWMBQG\nA1UEAwwNd3d3LmludGVsLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJR9\ngVEsjUrMb+E/dl19ywJsKZDnghmwVyG16dAfQ0Pftp1bjhtPEGEguvbLGRRopKWH\nVscAOlTFnvCHq+6/9/SjZjBkMB8GA1UdIwQYMBaAFOhSBcJP2NLVpSFHFrbODHtb\nuncPMB0GA1UdDgQWBBToUgXCT9jS1aUhRxa2zgx7W7p3DzASBgNVHRMBAf8ECDAG\nAQH/AgEBMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAldFScWQ6L\nPQgW/YT+2GILcATEA2TgzASaCrG+AzL6FgIgLH8ABRzm028hRYR/JZVGkHiomzYX\nVILmTjHwSL7uZBU=\n-----END CERTIFICATE-----\n";
|
|
107
|
+
/**
|
|
108
|
+
* @deprecated since 1.1.0, removed in 2.0.0. Use {@link STMICRO_TPM_EK_RSA_ROOT_PEM} (RSA-PKI) or {@link STMICRO_TPM_EK_ECC_ROOT_PEM} (ECC-PKI) directly.
|
|
71
109
|
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
110
|
+
* Reason: ST runs parallel RSA + ECC trust anchors for the
|
|
111
|
+
* ST33 / STSAFE-TPM family; the single-PEM constant could only
|
|
112
|
+
* ever name one of them, and modern ST33 devices may chain to
|
|
113
|
+
* either depending on EK template firmware. Kept as an alias for
|
|
114
|
+
* the ECC root (the modern default for most ST33 EK templates) for
|
|
115
|
+
* one minor release cycle so existing consumers don't break the
|
|
116
|
+
* moment they pull `1.1.0`.
|
|
74
117
|
*/
|
|
75
|
-
export declare const
|
|
118
|
+
export declare const STMICRO_TPM_EK_ROOT_PEM = "-----BEGIN CERTIFICATE-----\nMIICWjCCAbugAwIBAgIGVR0gAAECMAoGCCqGSM49BAMEME0xCzAJBgNVBAYTAkNI\nMR4wHAYDVQQKExVTVE1pY3JvZWxlY3Ryb25pY3MgTlYxHjAcBgNVBAMTFVNUU0FG\nRSBFQ0MgUm9vdCBDQSAwMjAgFw0yMjAxMjAwMDAwMDBaGA85OTk5MTIzMTAwMDAw\nMFowTTELMAkGA1UEBhMCQ0gxHjAcBgNVBAoTFVNUTWljcm9lbGVjdHJvbmljcyBO\nVjEeMBwGA1UEAxMVU1RTQUZFIEVDQyBSb290IENBIDAyMIGbMBAGByqGSM49AgEG\nBSuBBAAjA4GGAAQAJFgkbtp5mZpvISjL8zAUSSJXxXpPhxhSVGQfqU0GEjPBIMMD\nKNvc23xCcyIsiFTMD4MZQ1wov0SaBE3M31bWx78BrbiPCJ4lXUvJWiwm9+v3EL1z\nlznBtyJDYUkrUe2n7r8NH7kAQ1X/csItvyomECdRtm4wwD8VX1n+l3npVlMNOxWj\nQjBAMB0GA1UdDgQWBBT1XLcHvEsXQiYkgEBLu3yAulo8vjAOBgNVHQ8BAf8EBAMC\nAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDBAOBjAAwgYgCQgC85uufYwd5\nyelX2EKkjx7s8LP6qgcXHxkO1zZYrTU7umomS5beVyPf2hA12yPVG9VnYUqs9+RA\nL0mbODJNfHR5yAJCAUf2a5qPe3a/BpZBoY7YI68nUt1UD8ScX+IbkLJQ6mPe8pNR\nxRJfSy8RvtTJcPEqH7kpj5sZjlRC5GUG/3Sco8uX\n-----END CERTIFICATE-----\n";
|
|
76
119
|
/**
|
|
77
120
|
* Default pinned-root set returned when a caller passes no `rootPems`
|
|
78
|
-
* override.
|
|
79
|
-
*
|
|
80
|
-
*
|
|
121
|
+
* override. Five real vendor bytes covering the four major TPM 2.0
|
|
122
|
+
* silicon vendors (STMicroelectronics ships parallel RSA + ECC roots,
|
|
123
|
+
* both pinned). Ordered by deployment prevalence — Infineon and Intel
|
|
124
|
+
* PTT together cover the vast majority of Windows 11 hosts; Nuvoton
|
|
125
|
+
* and STMicro cover most non-Intel Linux laptops and ST33-based
|
|
126
|
+
* embedded systems.
|
|
81
127
|
*/
|
|
82
128
|
export declare const DEFAULT_PINNED_TPM_ROOTS: readonly string[];
|
|
83
129
|
/**
|
package/dist/tpm-roots.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tpm-roots.d.ts","sourceRoot":"","sources":["../src/tpm-roots.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tpm-roots.d.ts","sourceRoot":"","sources":["../src/tpm-roots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,m4BAepC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,2wBAanC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,u6DA+BvC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,+3BAevC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,y6BAgBjC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,+3BAA8B,CAAC;AAEnE;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAMrD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAG,KAAc,CAAC"}
|
package/dist/tpm-roots.js
CHANGED
|
@@ -16,117 +16,210 @@
|
|
|
16
16
|
*
|
|
17
17
|
* - Infineon (`OptigaTrustM`, `SLB966x` families)
|
|
18
18
|
* - Nuvoton (`NPCT7xx` family)
|
|
19
|
-
* - STMicroelectronics (`ST33TPHF2ESPI`, `ST33HTPH2E32AHB3
|
|
19
|
+
* - STMicroelectronics (`ST33TPHF2ESPI`, `ST33HTPH2E32AHB3`,
|
|
20
|
+
* `ST33KTPM2X` families) — RSA + ECC parallel
|
|
21
|
+
* roots; both pinned
|
|
20
22
|
* - Intel PTT (firmware TPM bundled with Intel CSME)
|
|
21
23
|
*
|
|
22
24
|
* AMD fTPM (firmware TPM bundled with AMD PSP) uses a vendor-signed
|
|
23
25
|
* chain that roots to AMD's EK CA; that root is additive and lands in
|
|
24
26
|
* a subsequent pass once the first AMD-shaped test vector is captured.
|
|
25
27
|
*
|
|
26
|
-
* ##
|
|
28
|
+
* ## Real-fixture coverage is a separate concern
|
|
27
29
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* `
|
|
30
|
+
* Pinning the production vendor root bytes (this file) is one half of
|
|
31
|
+
* the moat-provability claim. The other half — proving the verifier
|
|
32
|
+
* agrees with what real hardware emits in the wild — requires a
|
|
33
|
+
* captured TPM2_Quote from an actual device with its full AK→vendor-
|
|
34
|
+
* root chain. Real-device captures expose serial-number-grade chip
|
|
35
|
+
* identity (each device's EK cert is unique by design), so projects
|
|
36
|
+
* systemically don't publish them. Real-fixture coverage stays deferred
|
|
37
|
+
* to an owned-hardware capture session; see
|
|
38
|
+
* `docs/doctrine/hardware-attestation.md` §"Real TPM fixture status".
|
|
39
|
+
* The `rootPems` test override path remains for synthetic chain-
|
|
40
|
+
* verification tests that don't require a real-device fixture.
|
|
41
|
+
*
|
|
42
|
+
* Each constant below ships its real vendor-published bytes. Each
|
|
43
|
+
* comment names: source URL, subject DN, SHA-256 fingerprint, and
|
|
44
|
+
* validity window. The fingerprint is the audit anchor — a third-party
|
|
45
|
+
* verifier that fetches the same vendor URL and computes its own
|
|
46
|
+
* SHA-256 should reach the byte-identical value below.
|
|
38
47
|
*/
|
|
39
48
|
/**
|
|
40
|
-
* Infineon OPTIGA
|
|
41
|
-
*
|
|
42
|
-
* Published at: https://pki.infineon.com/OptigaEccRootCA/OptigaEccRootCA.crt
|
|
49
|
+
* Infineon OPTIGA(TM) ECC Root CA.
|
|
43
50
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
51
|
+
* Source: https://pki.infineon.com/OptigaEccRootCA/OptigaEccRootCA.crt
|
|
52
|
+
* Subject: C=DE, O=Infineon Technologies AG, OU=OPTIGA(TM) Devices,
|
|
53
|
+
* CN=Infineon OPTIGA(TM) ECC Root CA
|
|
54
|
+
* SHA-256: cfeb02fecd55ad7a73c6e1d11985d4c47dee248ab63dcb66091a2489660443c3
|
|
55
|
+
* Public key: ECDSA P-384
|
|
56
|
+
* Validity: 2013-07-26 → 2043-07-25
|
|
46
57
|
*/
|
|
47
58
|
export const INFINEON_TPM_EK_ROOT_PEM = `-----BEGIN CERTIFICATE-----
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
MIICWzCCAeKgAwIBAgIBBDAKBggqhkjOPQQDAzB3MQswCQYDVQQGEwJERTEhMB8G
|
|
60
|
+
A1UECgwYSW5maW5lb24gVGVjaG5vbG9naWVzIEFHMRswGQYDVQQLDBJPUFRJR0Eo
|
|
61
|
+
VE0pIERldmljZXMxKDAmBgNVBAMMH0luZmluZW9uIE9QVElHQShUTSkgRUNDIFJv
|
|
62
|
+
b3QgQ0EwHhcNMTMwNzI2MDAwMDAwWhcNNDMwNzI1MjM1OTU5WjB3MQswCQYDVQQG
|
|
63
|
+
EwJERTEhMB8GA1UECgwYSW5maW5lb24gVGVjaG5vbG9naWVzIEFHMRswGQYDVQQL
|
|
64
|
+
DBJPUFRJR0EoVE0pIERldmljZXMxKDAmBgNVBAMMH0luZmluZW9uIE9QVElHQShU
|
|
65
|
+
TSkgRUNDIFJvb3QgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQm1HxLVgvAu1q2
|
|
66
|
+
GM+ymTz12zdTEu0JBVG9CdsVEJv/pE7pSWOlsG3YwU792YAvjSy7zL+WtDK40KGe
|
|
67
|
+
Om8bSWt46QJ00MQUkYxz6YqXbb14BBr06hWD6u6IMBupNkPd9pKjQjBAMB0GA1Ud
|
|
68
|
+
DgQWBBS0GIXISkrFEnryQDnexPWLHn5K0TAOBgNVHQ8BAf8EBAMCAAYwDwYDVR0T
|
|
69
|
+
AQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjA6QZcV8DjjbPuKjKDZQmTRywZk
|
|
70
|
+
MAn8wE6kuW3EouVvBt+/2O+szxMe4vxj8R6TDCYCMG7c9ov86ll/jDlJb/q0L4G+
|
|
71
|
+
+O3Bdel9P5+cOgzIGANkOPEzBQM3VfJegfnriT/kaA==
|
|
57
72
|
-----END CERTIFICATE-----
|
|
58
73
|
`;
|
|
59
74
|
/**
|
|
60
|
-
* Nuvoton
|
|
61
|
-
*
|
|
62
|
-
* Published at: https://www.nuvoton.com/security/NTC-TPM-EK-Cert/Nuvoton TPM Root CA 2110.cer
|
|
75
|
+
* Nuvoton TPM Root CA 2110.
|
|
63
76
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
77
|
+
* Source: https://www.nuvoton.com/security/NTC-TPM-EK-Cert/Nuvoton TPM Root CA 2110.cer
|
|
78
|
+
* Subject: CN=Nuvoton TPM Root CA 2110, O=Nuvoton Technology Corporation, C=TW
|
|
79
|
+
* SHA-256: 4aebe77a51ed29959a7f9f5e07a24a558dee8167f3985d724995a541c258dfda
|
|
80
|
+
* Public key: ECDSA P-256
|
|
81
|
+
* Validity: 2015-10-19 → 2035-10-15
|
|
66
82
|
*/
|
|
67
83
|
export const NUVOTON_TPM_EK_ROOT_PEM = `-----BEGIN CERTIFICATE-----
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
MIICBjCCAaygAwIBAgIIP5MvnZk8FrswCgYIKoZIzj0EAwIwVTFTMB8GA1UEAxMY
|
|
85
|
+
TnV2b3RvbiBUUE0gUm9vdCBDQSAyMTEwMCUGA1UEChMeTnV2b3RvbiBUZWNobm9s
|
|
86
|
+
b2d5IENvcnBvcmF0aW9uMAkGA1UEBhMCVFcwHhcNMTUxMDE5MDQzMjAwWhcNMzUx
|
|
87
|
+
MDE1MDQzMjAwWjBVMVMwHwYDVQQDExhOdXZvdG9uIFRQTSBSb290IENBIDIxMTAw
|
|
88
|
+
JQYDVQQKEx5OdXZvdG9uIFRlY2hub2xvZ3kgQ29ycG9yYXRpb24wCQYDVQQGEwJU
|
|
89
|
+
VzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPv9uK2BNm8/nmIyNsc2/aKHV0WR
|
|
90
|
+
ptzge3jKAIgUMosQIokl4LE3iopXWD3Hruxjf9vkLMDJrTeK3hWh2ySS4ySjZjBk
|
|
91
|
+
MA4GA1UdDwEB/wQEAwICBDASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSf
|
|
92
|
+
u3mqD1JieL7RUJKacXHpajW+9zAfBgNVHSMEGDAWgBSfu3mqD1JieL7RUJKacXHp
|
|
93
|
+
ajW+9zAKBggqhkjOPQQDAgNIADBFAiEA/jiywhOKpiMOUnTfDmXsXfDFokhKVNTX
|
|
94
|
+
B6Xtqm7J8L4CICjT3/Y+rrSnf8zrBXqWeHDh8Wi41+w2ppq6Ev9orZFI
|
|
77
95
|
-----END CERTIFICATE-----
|
|
78
96
|
`;
|
|
79
97
|
/**
|
|
80
|
-
*
|
|
98
|
+
* STSAFE RSA Root CA 02 — STMicroelectronics's RSA-PKI anchor for the
|
|
99
|
+
* ST33 / STSAFE-TPM family. Modern ST33xxx devices provision EK certs
|
|
100
|
+
* under either this RSA root or the parallel ECC root below; pin both.
|
|
81
101
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
102
|
+
* Source: https://sw-center.st.com/STSAFE/STSAFERsaRootCA02.crt
|
|
103
|
+
* Reference: ST Technical Note TN1330
|
|
104
|
+
* Subject: C=CH, O=STMicroelectronics NV, CN=STSAFE RSA Root CA 02
|
|
105
|
+
* SHA-256: c8f179943356e13d9d84b100201cefabbf408880241e5329e60d950ce1dea623
|
|
106
|
+
* Public key: RSA-4096
|
|
107
|
+
* Validity: 2022-01-20 → 9999-12-31
|
|
86
108
|
*/
|
|
87
|
-
export const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
109
|
+
export const STMICRO_TPM_EK_RSA_ROOT_PEM = `-----BEGIN CERTIFICATE-----
|
|
110
|
+
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
|
|
97
139
|
-----END CERTIFICATE-----
|
|
98
140
|
`;
|
|
99
141
|
/**
|
|
100
|
-
*
|
|
101
|
-
*
|
|
142
|
+
* STSAFE ECC Root CA 02 — STMicroelectronics's ECC-PKI anchor for the
|
|
143
|
+
* ST33 / STSAFE-TPM family. Sibling of the RSA root above; modern ST33
|
|
144
|
+
* devices use one or the other depending on EK template firmware.
|
|
102
145
|
*
|
|
103
|
-
*
|
|
146
|
+
* Source: https://sw-center.st.com/STSAFE/STSAFEEccRootCA02.crt
|
|
147
|
+
* Reference: ST Technical Note TN1330
|
|
148
|
+
* Subject: C=CH, O=STMicroelectronics NV, CN=STSAFE ECC Root CA 02
|
|
149
|
+
* SHA-256: fd1e7b68accd825636b27b3177c67402d463a7f04c97b6c47ab705fcdc1a04f6
|
|
150
|
+
* Public key: ECDSA P-521
|
|
151
|
+
* Validity: 2022-01-20 → 9999-12-31
|
|
152
|
+
*/
|
|
153
|
+
export const STMICRO_TPM_EK_ECC_ROOT_PEM = `-----BEGIN CERTIFICATE-----
|
|
154
|
+
MIICWjCCAbugAwIBAgIGVR0gAAECMAoGCCqGSM49BAMEME0xCzAJBgNVBAYTAkNI
|
|
155
|
+
MR4wHAYDVQQKExVTVE1pY3JvZWxlY3Ryb25pY3MgTlYxHjAcBgNVBAMTFVNUU0FG
|
|
156
|
+
RSBFQ0MgUm9vdCBDQSAwMjAgFw0yMjAxMjAwMDAwMDBaGA85OTk5MTIzMTAwMDAw
|
|
157
|
+
MFowTTELMAkGA1UEBhMCQ0gxHjAcBgNVBAoTFVNUTWljcm9lbGVjdHJvbmljcyBO
|
|
158
|
+
VjEeMBwGA1UEAxMVU1RTQUZFIEVDQyBSb290IENBIDAyMIGbMBAGByqGSM49AgEG
|
|
159
|
+
BSuBBAAjA4GGAAQAJFgkbtp5mZpvISjL8zAUSSJXxXpPhxhSVGQfqU0GEjPBIMMD
|
|
160
|
+
KNvc23xCcyIsiFTMD4MZQ1wov0SaBE3M31bWx78BrbiPCJ4lXUvJWiwm9+v3EL1z
|
|
161
|
+
lznBtyJDYUkrUe2n7r8NH7kAQ1X/csItvyomECdRtm4wwD8VX1n+l3npVlMNOxWj
|
|
162
|
+
QjBAMB0GA1UdDgQWBBT1XLcHvEsXQiYkgEBLu3yAulo8vjAOBgNVHQ8BAf8EBAMC
|
|
163
|
+
AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDBAOBjAAwgYgCQgC85uufYwd5
|
|
164
|
+
yelX2EKkjx7s8LP6qgcXHxkO1zZYrTU7umomS5beVyPf2hA12yPVG9VnYUqs9+RA
|
|
165
|
+
L0mbODJNfHR5yAJCAUf2a5qPe3a/BpZBoY7YI68nUt1UD8ScX+IbkLJQ6mPe8pNR
|
|
166
|
+
xRJfSy8RvtTJcPEqH7kpj5sZjlRC5GUG/3Sco8uX
|
|
167
|
+
-----END CERTIFICATE-----
|
|
168
|
+
`;
|
|
169
|
+
/**
|
|
170
|
+
* Intel TPM EK Root Certificate (used by Intel PTT, the firmware TPM
|
|
171
|
+
* bundled with Intel CSME).
|
|
104
172
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
173
|
+
* Source: https://upgrades.intel.com/content/CRL/ekcert/EKRootPublicKey.cer
|
|
174
|
+
* Subject: C=US, ST=CA, L=Santa Clara, O=Intel Corporation,
|
|
175
|
+
* OU=TPM EK root cert signing, CN=www.intel.com
|
|
176
|
+
* SHA-256: 2e1b3ba79af56d758be51697621bc4b9e8cee0983db3e749c55eb9b37c6d2ae0
|
|
177
|
+
* Public key: ECDSA P-256
|
|
178
|
+
* Validity: 2014-01-15 → 2049-12-31
|
|
107
179
|
*/
|
|
108
180
|
export const INTEL_PTT_EK_ROOT_PEM = `-----BEGIN CERTIFICATE-----
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
181
|
+
MIICdzCCAh6gAwIBAgIUB+dPf7a3IyJGO923z34oQLRP7pwwCgYIKoZIzj0EAwIw
|
|
182
|
+
gYcxCzAJBgNVBAYMAlVTMQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLU2FudGEgQ2xh
|
|
183
|
+
cmExGjAYBgNVBAoMEUludGVsIENvcnBvcmF0aW9uMSEwHwYDVQQLDBhUUE0gRUsg
|
|
184
|
+
cm9vdCBjZXJ0IHNpZ25pbmcxFjAUBgNVBAMMDXd3dy5pbnRlbC5jb20wHhcNMTQw
|
|
185
|
+
MTE1MDAwMDAwWhcNNDkxMjMxMjM1OTU5WjCBhzELMAkGA1UEBgwCVVMxCzAJBgNV
|
|
186
|
+
BAgMAkNBMRQwEgYDVQQHDAtTYW50YSBDbGFyYTEaMBgGA1UECgwRSW50ZWwgQ29y
|
|
187
|
+
cG9yYXRpb24xITAfBgNVBAsMGFRQTSBFSyByb290IGNlcnQgc2lnbmluZzEWMBQG
|
|
188
|
+
A1UEAwwNd3d3LmludGVsLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJR9
|
|
189
|
+
gVEsjUrMb+E/dl19ywJsKZDnghmwVyG16dAfQ0Pftp1bjhtPEGEguvbLGRRopKWH
|
|
190
|
+
VscAOlTFnvCHq+6/9/SjZjBkMB8GA1UdIwQYMBaAFOhSBcJP2NLVpSFHFrbODHtb
|
|
191
|
+
uncPMB0GA1UdDgQWBBToUgXCT9jS1aUhRxa2zgx7W7p3DzASBgNVHRMBAf8ECDAG
|
|
192
|
+
AQH/AgEBMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNHADBEAiAldFScWQ6L
|
|
193
|
+
PQgW/YT+2GILcATEA2TgzASaCrG+AzL6FgIgLH8ABRzm028hRYR/JZVGkHiomzYX
|
|
194
|
+
VILmTjHwSL7uZBU=
|
|
118
195
|
-----END CERTIFICATE-----
|
|
119
196
|
`;
|
|
197
|
+
/**
|
|
198
|
+
* @deprecated since 1.1.0, removed in 2.0.0. Use {@link STMICRO_TPM_EK_RSA_ROOT_PEM} (RSA-PKI) or {@link STMICRO_TPM_EK_ECC_ROOT_PEM} (ECC-PKI) directly.
|
|
199
|
+
*
|
|
200
|
+
* Reason: ST runs parallel RSA + ECC trust anchors for the
|
|
201
|
+
* ST33 / STSAFE-TPM family; the single-PEM constant could only
|
|
202
|
+
* ever name one of them, and modern ST33 devices may chain to
|
|
203
|
+
* either depending on EK template firmware. Kept as an alias for
|
|
204
|
+
* the ECC root (the modern default for most ST33 EK templates) for
|
|
205
|
+
* one minor release cycle so existing consumers don't break the
|
|
206
|
+
* moment they pull `1.1.0`.
|
|
207
|
+
*/
|
|
208
|
+
export const STMICRO_TPM_EK_ROOT_PEM = STMICRO_TPM_EK_ECC_ROOT_PEM;
|
|
120
209
|
/**
|
|
121
210
|
* Default pinned-root set returned when a caller passes no `rootPems`
|
|
122
|
-
* override.
|
|
123
|
-
*
|
|
124
|
-
*
|
|
211
|
+
* override. Five real vendor bytes covering the four major TPM 2.0
|
|
212
|
+
* silicon vendors (STMicroelectronics ships parallel RSA + ECC roots,
|
|
213
|
+
* both pinned). Ordered by deployment prevalence — Infineon and Intel
|
|
214
|
+
* PTT together cover the vast majority of Windows 11 hosts; Nuvoton
|
|
215
|
+
* and STMicro cover most non-Intel Linux laptops and ST33-based
|
|
216
|
+
* embedded systems.
|
|
125
217
|
*/
|
|
126
218
|
export const DEFAULT_PINNED_TPM_ROOTS = [
|
|
127
219
|
INFINEON_TPM_EK_ROOT_PEM,
|
|
128
220
|
NUVOTON_TPM_EK_ROOT_PEM,
|
|
129
|
-
|
|
221
|
+
STMICRO_TPM_EK_RSA_ROOT_PEM,
|
|
222
|
+
STMICRO_TPM_EK_ECC_ROOT_PEM,
|
|
130
223
|
INTEL_PTT_EK_ROOT_PEM,
|
|
131
224
|
];
|
|
132
225
|
/**
|
package/dist/tpm-roots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tpm-roots.js","sourceRoot":"","sources":["../src/tpm-roots.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tpm-roots.js","sourceRoot":"","sources":["../src/tpm-roots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;CAevC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;CAatC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B1C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;CAe1C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;CAgBpC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,wBAAwB;IACxB,uBAAuB;IACvB,2BAA2B;IAC3B,2BAA2B;IAC3B,qBAAqB;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@motebit/crypto-tpm",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Apache-2.0 verifier for TPM 2.0 Endorsement-Key hardware-attestation credentials — offline chain verification against pinned vendor EK roots (Infineon, Nuvoton, STMicro, Intel PTT) plus binary TPMS_ATTEST parsing. Plugs into @motebit/crypto's HardwareAttestationVerifiers dispatcher to validate TPM-attested motebit identities on Windows/Linux hosts.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@peculiar/x509": "^1.12.0",
|
|
56
|
-
"@motebit/protocol": "1.
|
|
57
|
-
"@motebit/crypto": "1.
|
|
56
|
+
"@motebit/protocol": "1.1.0",
|
|
57
|
+
"@motebit/crypto": "1.1.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@noble/curves": "~1.9.0",
|