summaryrefslogtreecommitdiff
path: root/include/u2f_impl.h
diff options
context:
space:
mode:
authorYicheng Li <yichengli@chromium.org>2021-01-04 14:49:19 -0800
committerCommit Bot <commit-bot@chromium.org>2021-01-12 20:55:51 +0000
commit72a3dd167c24a20a6df568d0c84c77dd45a6d2cf (patch)
tree1d1c66467f1ce5e5b0117438c1c104b51f954f5d /include/u2f_impl.h
parentec643f0d99397eafa09ab39b2d7dd6b968bd70d8 (diff)
downloadchrome-ec-stabilize-quickfix-13729.60.B-cr50_stab.tar.gz
The u2f functionality had no unittests at all. This change is more of a setup (in terms of build dependencies) so that u2f tests can be easily added in the future. This change comes with a few simple tests for u2f_generate. The basic idea here is to use board/host/dcrypto.h to mock the dcrypto functionalities. Since board/host/dcrypto.h includes an alternative to cryptoc's sha256 definitions, we need to exclude cryptoc/sha256.h in the test builds. BUG=b:172971998 TEST=make -j run-u2f TEST=make CR50_DEV=1 BOARD=cr50 -j Signed-off-by: Yicheng Li <yichengli@chromium.org> Change-Id: Idae6f55f599a017aedcaf0fe4cdb6c0506e72712 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2610133 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
Diffstat (limited to 'include/u2f_impl.h')
-rw-r--r--include/u2f_impl.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/u2f_impl.h b/include/u2f_impl.h
index fd2cc05ba1..a2f2cfaa97 100644
--- a/include/u2f_impl.h
+++ b/include/u2f_impl.h
@@ -9,7 +9,13 @@
#define __CROS_EC_U2F_IMPL_H
#include "common.h"
+
+#ifdef TEST_BUILD
+#include "board/host/dcrypto.h"
+#endif
+
#include "cryptoc/p256.h"
+#include "tpm_vendor_cmds.h"
#include "u2f.h"
/* ---- Physical presence ---- */
@@ -132,4 +138,11 @@ int u2f_gen_kek_seed(int commit);
*/
int g2f_attestation_cert(uint8_t *buf);
+/**
+ * U2F_GENERATE command handler. Generates a key handle according to input
+ * parameters.
+ */
+enum vendor_cmd_rc u2f_generate(enum vendor_cmd_cc code, void *buf,
+ size_t input_size, size_t *response_size);
+
#endif /* __CROS_EC_U2F_IMPL_H */