diff options
author | Vadim Sukhomlinov <sukhomlinov@google.com> | 2021-09-10 14:10:09 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-09-13 16:20:10 +0000 |
commit | 828bf6cffbfb7d8eafa83a22303dc03c9c48bb01 (patch) | |
tree | 2b91590c15613bcd4e6ec64a125c86b2715b90b8 | |
parent | 82bea41f492aff12660118a479916edea5105675 (diff) | |
download | chrome-ec-828bf6cffbfb7d8eafa83a22303dc03c9c48bb01.tar.gz |
cr50: minor fix - enable DRBG test vendor command with CRYPTO_TEST=1
After https://crrev.com/c/3139977 landed noticed that I need DRBG_TEST=1
to make tpm_test.py to work, as suddenly disabled vendor command with
ccd command.
Added check for successful completion of hmac_drbg_generate() in
test command.
BUG=none
TEST=make BOARD=cr50 CRYPTO_TEST=1; test/tpmtest/tpmtest.py
Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com>
Change-Id: I87053fc0d100a68536680ad8c66358cdb2d5e537
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3155297
Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
Auto-Submit: Vadim Sukhomlinov <sukhomlinov@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r-- | board/cr50/dcrypto/hmac_drbg.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/board/cr50/dcrypto/hmac_drbg.c b/board/cr50/dcrypto/hmac_drbg.c index d27890360a..4efedb69ed 100644 --- a/board/cr50/dcrypto/hmac_drbg.c +++ b/board/cr50/dcrypto/hmac_drbg.c @@ -146,8 +146,9 @@ void drbg_exit(struct drbg_ctx *ctx) #define CRYPTO_TEST_CMD_HMAC_DRBG 0 #endif -#if defined(CRYPTO_TEST_SETUP) && CRYPTO_TEST_CMD_HMAC_DRBG +#ifdef CRYPTO_TEST_SETUP +#if CRYPTO_TEST_CMD_HMAC_DRBG /* * from the RFC 6979 A.2.5 example: * @@ -354,6 +355,8 @@ static int cmd_hmac_drbg_rand(int argc, char **argv) } DECLARE_SAFE_CONSOLE_COMMAND(hmac_drbg_rand, cmd_hmac_drbg_rand, NULL, NULL); +#endif /* CRYPTO_TEST_CMD_HMAC_DRBG */ + enum drbg_command { DRBG_INIT = 0, DRBG_RESEED = 1, @@ -455,7 +458,9 @@ static enum vendor_cmd_rc drbg_test(enum vendor_cmd_cc code, void *buf, if (p1_len > sizeof(output) || max_out_len < p1_len) return VENDOR_RC_BOGUS_ARGS; - hmac_drbg_generate(&drbg_ctx, output, p1_len, p0, p0_len); + if (hmac_drbg_generate(&drbg_ctx, output, p1_len, p0, p0_len) != + HMAC_DRBG_SUCCESS) + return VENDOR_RC_INTERNAL_ERROR; memcpy(buf, output, p1_len); *response_size = p1_len; |