diff options
author | Anton Antonov <anton.antonov@arm.com> | 2021-10-22 13:44:55 +0100 |
---|---|---|
committer | Armin Kuster <akuster808@gmail.com> | 2021-10-24 11:08:07 -0700 |
commit | 14e1db4ce8861d5672a6e42c31845fd5fc69ca67 (patch) | |
tree | c791ac6fb0e692e5be86375321b23e50c9bfff0e | |
parent | 2bc849ada34e935f21a6dec9b6fc67bb8e982be9 (diff) | |
download | meta-security-14e1db4ce8861d5672a6e42c31845fd5fc69ca67.tar.gz |
Parsec service. Update PACKAGECONFIG definitions and README.md
Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r-- | meta-parsec/README.md | 23 | ||||
-rw-r--r-- | meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb | 10 |
2 files changed, 23 insertions, 10 deletions
diff --git a/meta-parsec/README.md b/meta-parsec/README.md index aeb48a6..c5635d3 100644 --- a/meta-parsec/README.md +++ b/meta-parsec/README.md | |||
@@ -1,8 +1,7 @@ | |||
1 | meta-parsec layer | 1 | meta-parsec layer |
2 | ============== | 2 | ============== |
3 | 3 | ||
4 | This layer contains recipes for the Parsec service with Mbed-Crypto, | 4 | This layer contains recipes for the Parsec service and parsec tools. |
5 | Pkcs11 and TPM providers and parsec tools. | ||
6 | 5 | ||
7 | Dependencies | 6 | Dependencies |
8 | ============ | 7 | ============ |
@@ -43,9 +42,16 @@ local.conf: | |||
43 | 42 | ||
44 | IMAGE_INSTALL:append = " parsec-service" | 43 | IMAGE_INSTALL:append = " parsec-service" |
45 | 44 | ||
46 | The Parsec service will be deployed into the image built with all the supported | 45 | By default the Parsec service will be deployed into the image with |
47 | providers and with the default config file from the Parsec repository: | 46 | TPM, PKCS11, MBED-CRYPTO and CRYPTOAUTHLIB providers build in |
47 | and with the default config file from the Parsec repository: | ||
48 | https://github.com/parallaxsecond/parsec/blob/main/config.toml | 48 | https://github.com/parallaxsecond/parsec/blob/main/config.toml |
49 | |||
50 | You can use PACKAGECONFIG for Parsec servic recipe to define | ||
51 | what providers should be built in. For example, | ||
52 | |||
53 | PACKAGECONFIG:pn-parsec-service = "TPM" | ||
54 | |||
49 | The default Parsec service config file contains the MbedCrypto provider | 55 | The default Parsec service config file contains the MbedCrypto provider |
50 | enabled. The config file needs to be updated to use the Parsec service | 56 | enabled. The config file needs to be updated to use the Parsec service |
51 | with other providers like TPM or PKCS11. The required procedures are | 57 | with other providers like TPM or PKCS11. The required procedures are |
@@ -80,12 +86,19 @@ manual testing of the Parsec service: | |||
80 | to test the Parsec service base functionality: | 86 | to test the Parsec service base functionality: |
81 | https://www.youtube.com/watch?v=ido0CyUdMHM&list=PLKjl7IFAwc4S7WQqqphCsyy6DPDxJ2Skg&index=4 | 87 | https://www.youtube.com/watch?v=ido0CyUdMHM&list=PLKjl7IFAwc4S7WQqqphCsyy6DPDxJ2Skg&index=4 |
82 | 88 | ||
89 | The parsec-tool recipe also includes `parsec-cli-tests.sh` script | ||
90 | which runs e2e tests against all providers enabled and configured | ||
91 | in Parsec service. | ||
92 | |||
83 | You can use runqemu to start a VM with a built image file and run | 93 | You can use runqemu to start a VM with a built image file and run |
84 | manual tests with parsec-tool. | 94 | manual tests with parsec-tool. |
85 | 95 | ||
96 | Enabling Parsec providers for manual testing | ||
97 | ============================================ | ||
98 | |||
86 | 1. MbedCrypto provider | 99 | 1. MbedCrypto provider |
87 | The default Parsec service config file contains the MbedCrypto provider | 100 | The default Parsec service config file contains the MbedCrypto provider |
88 | enabled. No changes required for manual testing. | 101 | enabled. No changes required. |
89 | 102 | ||
90 | 2. PKCS11 provider | 103 | 2. PKCS11 provider |
91 | The Software HSM can be used for manual testing of the provider by | 104 | The Software HSM can be used for manual testing of the provider by |
diff --git a/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb b/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb index b8bfa98..9161872 100644 --- a/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb +++ b/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb | |||
@@ -13,15 +13,15 @@ SRC_URI += "crate://crates.io/parsec-service/${PV} \ | |||
13 | DEPENDS = "clang-native" | 13 | DEPENDS = "clang-native" |
14 | 14 | ||
15 | PACKAGECONFIG ??= "TPM PKCS11 MBED-CRYPTO CRYPTOAUTHLIB" | 15 | PACKAGECONFIG ??= "TPM PKCS11 MBED-CRYPTO CRYPTOAUTHLIB" |
16 | PACKAGECONFIG[ALL] = "all-providers,,tpm2-tss libts,libts" | 16 | PACKAGECONFIG[ALL] = "all-providers cryptoki/generate-bindings tss-esapi/generate-bindings,,tpm2-tss libts,libts" |
17 | PACKAGECONFIG[TPM] = "tpm-provider,,tpm2-tss" | 17 | PACKAGECONFIG[TPM] = "tpm-provider tss-esapi/generate-bindings,,tpm2-tss" |
18 | PACKAGECONFIG[PKCS11] = "pkcs11-provider," | 18 | PACKAGECONFIG[PKCS11] = "pkcs11-provider cryptoki/generate-bindings," |
19 | PACKAGECONFIG[MBED-CRYPTO] = "mbed-crypto-provider," | 19 | PACKAGECONFIG[MBED-CRYPTO] = "mbed-crypto-provider," |
20 | PACKAGECONFIG[CRYPTOAUTHLIB] = "cryptoauthlib-provider," | 20 | PACKAGECONFIG[CRYPTOAUTHLIB] = "cryptoauthlib-provider," |
21 | PACKAGECONFIG[TS] = "trusted-service-provider,,libts,libts" | 21 | PACKAGECONFIG[TS] = "trusted-service-provider,,libts,libts" |
22 | 22 | ||
23 | PARSEC_PROVIDERS = "${@d.getVar('PACKAGECONFIG_CONFARGS',True).replace(' ', ',')}" | 23 | PARSEC_FEATURES = "${@d.getVar('PACKAGECONFIG_CONFARGS',True).strip().replace(' ', ',')}" |
24 | CARGO_BUILD_FLAGS += " --features ${PARSEC_PROVIDERS},cryptoki/generate-bindings,tss-esapi/generate-bindings" | 24 | CARGO_BUILD_FLAGS += " --features ${PARSEC_FEATURES}" |
25 | 25 | ||
26 | inherit systemd | 26 | inherit systemd |
27 | SYSTEMD_SERVICE:${PN} = "parsec.service" | 27 | SYSTEMD_SERVICE:${PN} = "parsec.service" |