diff options
author | David Stevens <stevensd@chromium.org> | 2021-08-25 01:22:24 +0000 |
---|---|---|
committer | David Stevens <stevensd@chromium.org> | 2021-08-25 01:24:10 +0000 |
commit | 1485393c069ed6c4b9419154664e7407e7022c2e (patch) | |
tree | b46e568e7a7d49966adeaacc1d3d7c2633084a85 /test/u2f.c | |
parent | 5ae1c684271a117539858cb12252959dfe46803c (diff) | |
download | chrome-ec-1485393c069ed6c4b9419154664e7407e7022c2e.tar.gz |
Revert "u2f: refactoring to split command processing and crypto"stabilize-14179.B-cr50_stabstabilize-14178.B-cr50_stab
This reverts commit 5ae1c684271a117539858cb12252959dfe46803c.
Reason for revert: breaks chromeos-ec-headers
BUG=b:197691499
Original change's description:
> u2f: refactoring to split command processing and crypto
>
> Split U2F crypto from U2F command processing by moving all crypto
> code into boards/cr50 (platform hooks).
>
> U2F state management is part of common code and passed to U2F crypto
> as a parameter.
>
> BUG=b:134594373
> TEST=make BOARD=cr50 CRYPTO_TEST=1
> console: u2f_test
> test/tpmtest.py
> FAFT U2F tests pass
>
> Signed-off-by: Vadim Sukhomlinov <sukhomlinov@google.com>
> Change-Id: I85442cddb2959bd3102f7f6e6047134ede90951b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3034852
> Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
> Reviewed-by: Andrey Pronin <apronin@chromium.org>
> Tested-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
> Commit-Queue: Vadim Sukhomlinov <sukhomlinov@chromium.org>
Bug: b:134594373
Change-Id: I61a965995fcd53b4e155084f5f351574cb84cd1e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3115930
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: David Stevens <stevensd@chromium.org>
Diffstat (limited to 'test/u2f.c')
-rw-r--r-- | test/u2f.c | 69 |
1 files changed, 28 insertions, 41 deletions
diff --git a/test/u2f.c b/test/u2f.c index 047c62b7df..c74bc847a3 100644 --- a/test/u2f.c +++ b/test/u2f.c @@ -3,8 +3,6 @@ * found in the LICENSE file. */ -#include "u2f_cmds.h" -#include "physical_presence.h" #include "test_util.h" #include "u2f_impl.h" @@ -26,43 +24,15 @@ int DCRYPTO_ladder_random(void *output) return 1; } -bool fips_rand_bytes(void *buffer, size_t len) -{ - memset(buffer, 1, len); - return true; -} - -bool fips_trng_bytes(void *buffer, size_t len) -{ - memset(buffer, 2, len); - return true; -} - int DCRYPTO_x509_gen_u2f_cert_name(const p256_int *d, const p256_int *pk_x, const p256_int *pk_y, const p256_int *serial, - const char *name, uint8_t *cert, const int n) + const char *name, uint8_t *cert, + const int n) { /* Return the size of certificate, 0 means error. */ return 0; } -int DCRYPTO_p256_key_from_bytes(p256_int *x, p256_int *y, p256_int *d, - const uint8_t key_bytes[P256_NBYTES]) -{ - p256_int key; - - p256_from_bin(key_bytes, &key); - - if (p256_lt_blinded(&key, &SECP256r1_nMin2) >= 0) - return 0; - p256_add_d(&key, 1, d); - if (x == NULL || y == NULL) - return 1; - memset(x, 0, P256_NBYTES); - memset(y, 0, P256_NBYTES); - return 1; -} - int dcrypto_p256_ecdsa_sign(struct drbg_ctx *drbg, const p256_int *key, const p256_int *message, p256_int *r, p256_int *s) { @@ -72,7 +42,6 @@ int dcrypto_p256_ecdsa_sign(struct drbg_ctx *drbg, const p256_int *key, return 1; } - /******************************************************************************/ /* Mock implementations of U2F functionality. */ @@ -80,20 +49,32 @@ static int presence; static struct u2f_state state; -struct u2f_state *u2f_get_state(void) +struct u2f_state *get_state(void) { return &state; } enum touch_state pop_check_presence(int consume) { - enum touch_state ret = presence ? POP_TOUCH_YES : POP_TOUCH_NO; + enum touch_state ret = presence ? + POP_TOUCH_YES : POP_TOUCH_NO; if (consume) presence = 0; return ret; } +int u2f_origin_user_keypair(const uint8_t *key_handle, size_t key_handle_size, + p256_int *d, p256_int *pk_x, p256_int *pk_y) +{ + return EC_SUCCESS; +} + +int g2f_individual_keypair(p256_int *d, p256_int *pk_x, p256_int *pk_y) +{ + return EC_SUCCESS; +} + /******************************************************************************/ /* Tests begin here. */ @@ -108,8 +89,10 @@ test_static int test_u2f_generate_no_require_presence(void) memset(buffer, 0, sizeof(buffer)); req->flags = 0; presence = 0; - ret = u2f_generate_cmd(VENDOR_CC_U2F_GENERATE, &buffer, - sizeof(struct u2f_generate_req), &response_size); + ret = u2f_generate( + VENDOR_CC_U2F_GENERATE, &buffer, + sizeof(struct u2f_generate_req), + &response_size); TEST_ASSERT(ret == VENDOR_RC_SUCCESS); return EC_SUCCESS; @@ -124,16 +107,20 @@ test_static int test_u2f_generate_require_presence(void) memset(buffer, 0, sizeof(buffer)); req->flags = U2F_AUTH_FLAG_TUP; presence = 0; - ret = u2f_generate_cmd(VENDOR_CC_U2F_GENERATE, &buffer, - sizeof(struct u2f_generate_req), &response_size); + ret = u2f_generate( + VENDOR_CC_U2F_GENERATE, &buffer, + sizeof(struct u2f_generate_req), + &response_size); TEST_ASSERT(ret == VENDOR_RC_NOT_ALLOWED); memset(buffer, 0, sizeof(buffer)); req->flags = U2F_AUTH_FLAG_TUP; response_size = sizeof(struct u2f_generate_resp); presence = 1; - ret = u2f_generate_cmd(VENDOR_CC_U2F_GENERATE, &buffer, - sizeof(struct u2f_generate_req), &response_size); + ret = u2f_generate( + VENDOR_CC_U2F_GENERATE, &buffer, + sizeof(struct u2f_generate_req), + &response_size); TEST_ASSERT(ret == VENDOR_RC_SUCCESS); return EC_SUCCESS; |