Skip to content

Commit dcb54b3

Browse files
authored
Merge pull request #464 from aidangarske/add-seal-test-ci
Add seal/unseal examples with PCR, PolicyAuthorize, and NV policies
2 parents 88f67e8 + a9471d1 commit dcb54b3

15 files changed

Lines changed: 1940 additions & 9 deletions

File tree

.github/workflows/seal-test.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Seal Test Suite
2+
3+
on:
4+
push:
5+
branches: [ 'master', 'main', 'release/**' ]
6+
paths:
7+
- 'examples/seal/**'
8+
- 'examples/nvram/seal_nv.c'
9+
- 'examples/nvram/nvram.h'
10+
- 'src/tpm2_wrap.c'
11+
- 'wolftpm/tpm2_wrap.h'
12+
pull_request:
13+
branches: [ '*' ]
14+
paths:
15+
- 'examples/seal/**'
16+
- 'examples/nvram/seal_nv.c'
17+
- 'examples/nvram/nvram.h'
18+
- 'src/tpm2_wrap.c'
19+
- 'wolftpm/tpm2_wrap.h'
20+
21+
jobs:
22+
seal-test:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout wolfTPM
26+
uses: actions/checkout@v4
27+
28+
- name: Checkout wolfSSL
29+
uses: actions/checkout@v4
30+
with:
31+
repository: wolfssl/wolfssl
32+
ref: master
33+
path: wolfssl
34+
35+
- name: Build and install wolfSSL
36+
working-directory: ./wolfssl
37+
run: |
38+
./autogen.sh
39+
./configure --enable-wolftpm --enable-pkcallbacks
40+
make -j
41+
sudo make install
42+
sudo ldconfig
43+
44+
- name: Checkout ibmswtpm2
45+
uses: actions/checkout@v4
46+
with:
47+
repository: kgoldman/ibmswtpm2
48+
path: ibmswtpm2
49+
50+
- name: Build and start SWTPM
51+
working-directory: ./ibmswtpm2/src
52+
run: |
53+
make
54+
./tpm_server &
55+
56+
- name: Build wolfTPM
57+
run: |
58+
./autogen.sh
59+
./configure --enable-swtpm --enable-debug
60+
make -j
61+
62+
- name: Run seal tests
63+
run: bash examples/seal/seal_test.sh
64+
65+
- name: Upload failure logs
66+
if: failure()
67+
uses: actions/upload-artifact@v4
68+
with:
69+
name: seal-test-logs
70+
path: seal_test.log
71+
retention-days: 5

.github/workflows/zephyr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Zephyr wolfTPM Tests
22

33
on:
44
push:
5-
branches: [ '*' ]
5+
branches: [ 'master', 'main', 'release/**' ]
66
pull_request:
77
branches: [ '*' ]
88

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,15 @@ examples/nvram/store
7070
examples/nvram/read
7171
examples/nvram/counter
7272
examples/nvram/policy_nv
73+
examples/nvram/seal_nv
7374
examples/gpio/gpio_config
7475
examples/gpio/gpio_set
7576
examples/gpio/gpio_read
7677
examples/gpio/gpio_nuvoton
7778
examples/seal/seal
7879
examples/seal/unseal
80+
examples/seal/seal_pcr
81+
examples/seal/seal_policy_auth
7982
examples/attestation/make_credential
8083
examples/attestation/activate_credential
8184
examples/attestation/certify

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,7 @@ if (WOLFTPM_EXAMPLES)
518518
add_tpm_example(policy_nv nvram/policy_nv.c)
519519
add_tpm_example(read nvram/read.c)
520520
add_tpm_example(store nvram/store.c)
521+
add_tpm_example(seal_nv nvram/seal_nv.c)
521522
add_tpm_example(extend pcr/extend.c)
522523
add_tpm_example(policy_sign pcr/policy_sign.c)
523524
add_tpm_example(policy pcr/policy.c)
@@ -527,6 +528,8 @@ if (WOLFTPM_EXAMPLES)
527528
add_tpm_example(pkcs7 pkcs7/pkcs7.c)
528529
add_tpm_example(seal seal/seal.c)
529530
add_tpm_example(unseal seal/unseal.c)
531+
add_tpm_example(seal_pcr seal/seal_pcr.c)
532+
add_tpm_example(seal_policy_auth seal/seal_policy_auth.c)
530533
add_tpm_example(clock_set timestamp/clock_set.c)
531534
add_tpm_example(signed_timestamp timestamp/signed_timestamp.c)
532535
add_tpm_example(tls_client_notpm tls/tls_client_notpm.c)

examples/nvram/include.am

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ examples_nvram_extend_SOURCES = examples/nvram/extend.c \
3333
examples/tpm_test_keys.c
3434
examples_nvram_extend_LDADD = src/libwolftpm.la $(LIB_STATIC_ADD)
3535
examples_nvram_extend_DEPENDENCIES = src/libwolftpm.la
36+
37+
noinst_PROGRAMS += examples/nvram/seal_nv
38+
examples_nvram_seal_nv_SOURCES = examples/nvram/seal_nv.c \
39+
examples/tpm_test_keys.c
40+
examples_nvram_seal_nv_LDADD = src/libwolftpm.la $(LIB_STATIC_ADD)
41+
examples_nvram_seal_nv_DEPENDENCIES = src/libwolftpm.la
3642
endif
3743

3844
example_nvramdir = $(exampledir)/nvram
@@ -41,10 +47,12 @@ dist_example_nvram_DATA = \
4147
examples/nvram/read.c \
4248
examples/nvram/counter.c \
4349
examples/nvram/policy_nv.c \
44-
examples/nvram/extend.c
50+
examples/nvram/extend.c \
51+
examples/nvram/seal_nv.c
4552

4653
DISTCLEANFILES+= examples/nvram/.libs/store \
4754
examples/nvram/.libs/read \
4855
examples/nvram/.libs/counter \
4956
examples/nvram/.libs/policy_nv \
50-
examples/nvram/.libs/extend
57+
examples/nvram/.libs/extend \
58+
examples/nvram/.libs/seal_nv

examples/nvram/nvram.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@
2929
int TPM2_NVRAM_Store_Example(void* userCtx, int argc, char *argv[]);
3030
int TPM2_NVRAM_Read_Example(void* userCtx, int argc, char *argv[]);
3131
int TPM2_NVRAM_Counter_Example(void* userCtx, int argc, char *argv[]);
32-
int TPM2_PCR_Seal_With_Policy_Auth_NV_Test(void* userCtx, int argc, char *argv[]);
33-
int TPM2_PCR_Seal_With_Policy_Auth_NV_External_Test(void* userCtx, int argc, char *argv[]);
3432
int TPM2_NVRAM_PolicyNV_Example(void* userCtx, int argc, char *argv[]);
33+
int TPM2_NVRAM_SealNV_Example(void* userCtx, int argc, char *argv[]);
3534
int TPM2_NVRAM_Extend_Example(void* userCtx, int argc, char *argv[]);
3635

3736
#ifdef __cplusplus

0 commit comments

Comments
 (0)