mirror of https://github.com/wolfSSL/wolfBoot.git
Added optional `WOLFBOOT_TPM_KEYSTORE_AUTH` for build-time NV auth.
parent
053b1ba92b
commit
19424c86c9
|
@ -16,6 +16,9 @@ on:
|
||||||
rot-args:
|
rot-args:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
authstr:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
@ -52,7 +55,7 @@ jobs:
|
||||||
|
|
||||||
- name: Build wolfboot
|
- name: Build wolfboot
|
||||||
run: |
|
run: |
|
||||||
make ${{inputs.make-args}}
|
make ${{inputs.make-args}} WOLFBOOT_TPM_KEYSTORE_AUTH="${{inputs.authstr}}"
|
||||||
|
|
||||||
- name: Build TPM tools
|
- name: Build TPM tools
|
||||||
run: |
|
run: |
|
||||||
|
@ -60,7 +63,7 @@ jobs:
|
||||||
|
|
||||||
- name: Write TPM ROT to TPM
|
- name: Write TPM ROT to TPM
|
||||||
run: |
|
run: |
|
||||||
./tools/tpm/rot -write ${{inputs.rot-args}}
|
./tools/tpm/rot -write ${{inputs.rot-args}} -auth="${{inputs.authstr}}"
|
||||||
|
|
||||||
- name: Run wolfBoot
|
- name: Run wolfBoot
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -64,6 +64,7 @@ jobs:
|
||||||
arch: host
|
arch: host
|
||||||
config-file: ./config/examples/sim-tpm-keystore.config
|
config-file: ./config/examples/sim-tpm-keystore.config
|
||||||
make-args: SIGN=ECC256 HASH=SHA256
|
make-args: SIGN=ECC256 HASH=SHA256
|
||||||
|
authstr: TestAuth
|
||||||
|
|
||||||
sim_tpm_keystore_ecc384:
|
sim_tpm_keystore_ecc384:
|
||||||
uses: ./.github/workflows/test-build-sim-tpm.yml
|
uses: ./.github/workflows/test-build-sim-tpm.yml
|
||||||
|
@ -72,6 +73,7 @@ jobs:
|
||||||
config-file: ./config/examples/sim-tpm-keystore.config
|
config-file: ./config/examples/sim-tpm-keystore.config
|
||||||
make-args: SIGN=ECC384 HASH=SHA384
|
make-args: SIGN=ECC384 HASH=SHA384
|
||||||
rot-args: -sha384
|
rot-args: -sha384
|
||||||
|
authstr: TestAuth
|
||||||
|
|
||||||
sim_tpm_keystore_rsa2048:
|
sim_tpm_keystore_rsa2048:
|
||||||
uses: ./.github/workflows/test-build-sim-tpm.yml
|
uses: ./.github/workflows/test-build-sim-tpm.yml
|
||||||
|
@ -79,3 +81,4 @@ jobs:
|
||||||
arch: host
|
arch: host
|
||||||
config-file: ./config/examples/sim-tpm-keystore.config
|
config-file: ./config/examples/sim-tpm-keystore.config
|
||||||
make-args: SIGN=RSA2048 HASH=SHA256
|
make-args: SIGN=RSA2048 HASH=SHA256
|
||||||
|
authstr: TestAuth
|
||||||
|
|
|
@ -20,6 +20,7 @@ WOLFBOOT_FIXED_PARTITIONS=1
|
||||||
# Use NV for TPM based Root of Trust
|
# Use NV for TPM based Root of Trust
|
||||||
WOLFBOOT_TPM_KEYSTORE?=1
|
WOLFBOOT_TPM_KEYSTORE?=1
|
||||||
WOLFBOOT_TPM_KEYSTORE_NV_INDEX?=0x01400200
|
WOLFBOOT_TPM_KEYSTORE_NV_INDEX?=0x01400200
|
||||||
|
#WOLFBOOT_TPM_KEYSTORE_AUTH?=TestAuth
|
||||||
|
|
||||||
# TPM Logging
|
# TPM Logging
|
||||||
#CFLAGS_EXTRA+=-DDEBUG_WOLFTPM
|
#CFLAGS_EXTRA+=-DDEBUG_WOLFTPM
|
||||||
|
|
|
@ -12,6 +12,7 @@ ifeq ($(WOLFBOOT_TPM_KEYSTORE),1)
|
||||||
WOLFTPM:=1
|
WOLFTPM:=1
|
||||||
CFLAGS+=-DWOLFBOOT_TPM_KEYSTORE
|
CFLAGS+=-DWOLFBOOT_TPM_KEYSTORE
|
||||||
CFLAGS+=-DWOLFBOOT_TPM_KEYSTORE_NV_INDEX=$(WOLFBOOT_TPM_KEYSTORE_NV_INDEX)
|
CFLAGS+=-DWOLFBOOT_TPM_KEYSTORE_NV_INDEX=$(WOLFBOOT_TPM_KEYSTORE_NV_INDEX)
|
||||||
|
CFLAGS+=-DWOLFBOOT_TPM_KEYSTORE_AUTH='"$(WOLFBOOT_TPM_KEYSTORE_AUTH)"'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -1269,9 +1269,9 @@ static int keyslot_id_by_sha(const uint8_t *hint)
|
||||||
XMEMSET(&nv, 0, sizeof(nv));
|
XMEMSET(&nv, 0, sizeof(nv));
|
||||||
nv.handle.hndl = WOLFBOOT_TPM_KEYSTORE_NV_INDEX;
|
nv.handle.hndl = WOLFBOOT_TPM_KEYSTORE_NV_INDEX;
|
||||||
|
|
||||||
#if 0 /* TODO: Add auth */
|
#ifdef WOLFBOOT_TPM_KEYSTORE_AUTH
|
||||||
nv.handle.auth.size = sizeof(authBuf);
|
nv.handle.auth.size = (UINT16)strlen(WOLFBOOT_TPM_KEYSTORE_AUTH);
|
||||||
XMEMCPY(nv.handle.auth.buffer, authBuf, sizeof(authBuf));
|
memcpy(nv.handle.auth.buffer, WOLFBOOT_TPM_KEYSTORE_AUTH, nv.handle.auth.size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rc = wolfTPM2_NVReadAuth(&wolftpm_dev, &nv, WOLFBOOT_TPM_KEYSTORE_NV_INDEX,
|
rc = wolfTPM2_NVReadAuth(&wolftpm_dev, &nv, WOLFBOOT_TPM_KEYSTORE_NV_INDEX,
|
||||||
|
|
Loading…
Reference in New Issue