summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2016-10-18 15:09:21 -0700
committerRandall Spangler <rspangler@chromium.org>2016-11-06 02:34:03 +0000
commit6e3931d1f609fc23b3ca8c7f6e563926e4f38b69 (patch)
treea026366a822ad7300b2b76a14c8e5df77305e564 /tests
parent559a110f33b7ebe8d950f1c2de6b3b89791f862b (diff)
downloadvboot-6e3931d1f609fc23b3ca8c7f6e563926e4f38b69.tar.gz
vboot: Add vb2_unpack_key_buffer
Previously, vb2_unpack_key() actually unpacked a key buffer. Callers that had a vb2_packed_key had to typecast it back to a uint8_t buffer to unpack it. Rename vb2_unpack_key() to vb2_unpack_key_buffer(), and make vb2_unpack_key() unpack a vb2_packed_key. BUG=chromium:611535 BRANCH=none TEST=make runtests; emerge-kevin coreboot depthcharge; emerge-samus and boot it Change-Id: I9ee38a819c59cc58a72ead78cf5ddf3d0f301ae7 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/400906 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/vb20_api_kernel_tests.c2
-rw-r--r--tests/vb20_api_tests.c2
-rw-r--r--tests/vb20_common2_tests.c35
-rw-r--r--tests/vb20_common3_tests.c8
-rw-r--r--tests/vb20_kernel_tests.c2
-rw-r--r--tests/vb20_misc_tests.c2
-rw-r--r--tests/vb20_rsa_padding_tests.c4
-rw-r--r--tests/vboot_api_kernel5_tests.c2
-rw-r--r--tests/vboot_kernel_tests.c2
9 files changed, 29 insertions, 30 deletions
diff --git a/tests/vb20_api_kernel_tests.c b/tests/vb20_api_kernel_tests.c
index 0c8cb59a..212ad931 100644
--- a/tests/vb20_api_kernel_tests.c
+++ b/tests/vb20_api_kernel_tests.c
@@ -194,7 +194,7 @@ int vb2_load_kernel_preamble(struct vb2_context *ctx)
return mock_load_kernel_preamble_retval;
}
-int vb2_unpack_key(struct vb2_public_key *key,
+int vb2_unpack_key_buffer(struct vb2_public_key *key,
const uint8_t *buf,
uint32_t size)
{
diff --git a/tests/vb20_api_tests.c b/tests/vb20_api_tests.c
index f0bc98bf..a7efca9b 100644
--- a/tests/vb20_api_tests.c
+++ b/tests/vb20_api_tests.c
@@ -117,7 +117,7 @@ int vb2_load_fw_preamble(struct vb2_context *ctx)
return retval_vb2_load_fw_preamble;
}
-int vb2_unpack_key(struct vb2_public_key *key,
+int vb2_unpack_key_buffer(struct vb2_public_key *key,
const uint8_t *buf,
uint32_t size)
{
diff --git a/tests/vb20_common2_tests.c b/tests/vb20_common2_tests.c
index 00861e58..61e28d1a 100644
--- a/tests/vb20_common2_tests.c
+++ b/tests/vb20_common2_tests.c
@@ -35,44 +35,49 @@ static void test_unpack_key(const struct vb2_packed_key *key1)
struct vb2_packed_key *key = (struct vb2_packed_key *)buf;
memcpy(key, key1, size);
- TEST_SUCC(vb2_unpack_key(&pubk, buf, size), "vb2_unpack_key() ok");
+ TEST_SUCC(vb2_unpack_key_buffer(&pubk, buf, size),
+ "vb2_unpack_key_buffer() ok");
TEST_EQ(pubk.sig_alg, vb2_crypto_to_signature(key->algorithm),
- "vb2_unpack_key() sig_alg");
+ "vb2_unpack_key_buffer() sig_alg");
TEST_EQ(pubk.hash_alg, vb2_crypto_to_hash(key->algorithm),
- "vb2_unpack_key() hash_alg");
+ "vb2_unpack_key_buffer() hash_alg");
memcpy(key, key1, size);
key->algorithm = VB2_ALG_COUNT;
- TEST_EQ(vb2_unpack_key(&pubk, buf, size),
+ TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size),
VB2_ERROR_UNPACK_KEY_SIG_ALGORITHM,
- "vb2_unpack_key() invalid algorithm");
+ "vb2_unpack_key_buffer() invalid algorithm");
memcpy(key, key1, size);
key->key_size--;
- TEST_EQ(vb2_unpack_key(&pubk, buf, size),
+ TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size),
VB2_ERROR_UNPACK_KEY_SIZE,
- "vb2_unpack_key() invalid size");
+ "vb2_unpack_key_buffer() invalid size");
memcpy(key, key1, size);
key->key_offset++;
- TEST_EQ(vb2_unpack_key(&pubk, buf, size + 1),
+ TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size + 1),
VB2_ERROR_UNPACK_KEY_ALIGN,
- "vb2_unpack_key() unaligned data");
+ "vb2_unpack_key_buffer() unaligned data");
memcpy(key, key1, size);
*(uint32_t *)(buf + key->key_offset) /= 2;
- TEST_EQ(vb2_unpack_key(&pubk, buf, size),
+ TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size),
VB2_ERROR_UNPACK_KEY_ARRAY_SIZE,
- "vb2_unpack_key() invalid key array size");
+ "vb2_unpack_key_buffer() invalid key array size");
memcpy(key, key1, size);
- TEST_EQ(vb2_unpack_key(&pubk, buf, size - 1),
+ TEST_EQ(vb2_unpack_key_buffer(&pubk, buf, size - 1),
VB2_ERROR_INSIDE_DATA_OUTSIDE,
- "vb2_unpack_key() buffer too small");
+ "vb2_unpack_key_buffer() buffer too small");
free(key);
+
+ TEST_EQ(vb2_unpack_key(&pubk, NULL),
+ VB2_ERROR_UNPACK_KEY_BUFFER,
+ "vb2_unpack_key_() buffer NULL");
}
static void test_verify_data(const struct vb2_packed_key *key1,
@@ -82,7 +87,6 @@ static void test_verify_data(const struct vb2_packed_key *key1,
__attribute__ ((aligned (VB2_WORKBUF_ALIGN)));
struct vb2_workbuf wb;
- uint32_t pubkey_size = key1->key_offset + key1->key_size;
struct vb2_public_key pubk, pubk_orig;
uint32_t sig_total_size = sig->sig_offset + sig->sig_size;
struct vb2_signature *sig2;
@@ -92,8 +96,7 @@ static void test_verify_data(const struct vb2_packed_key *key1,
/* Allocate signature copy for tests */
sig2 = (struct vb2_signature *)malloc(sig_total_size);
- TEST_EQ(vb2_unpack_key(&pubk, (uint8_t *)key1, pubkey_size),
- 0, "vb2_verify_data() unpack key");
+ TEST_SUCC(vb2_unpack_key(&pubk, key1), "vb2_verify_data() unpack key");
pubk_orig = pubk;
memcpy(sig2, sig, sig_total_size);
diff --git a/tests/vb20_common3_tests.c b/tests/vb20_common3_tests.c
index e5538673..b5ad1ebe 100644
--- a/tests/vb20_common3_tests.c
+++ b/tests/vb20_common3_tests.c
@@ -216,8 +216,7 @@ static void test_verify_fw_preamble(struct vb2_packed_key *public_key,
/* Create a dummy signature */
struct vb2_signature *body_sig = vb2_alloc_signature(56, 78);
- TEST_SUCC(vb2_unpack_key(&rsa, (uint8_t *)public_key,
- public_key->key_offset + public_key->key_size),
+ TEST_SUCC(vb2_unpack_key(&rsa, public_key),
"vb2_verify_fw_preamble() prereq key");
hdr = vb2_create_fw_preamble(0x1234, kernel_subkey, body_sig,
@@ -359,8 +358,7 @@ static void test_verify_kernel_preamble(
/* Create a dummy signature */
struct vb2_signature *body_sig = vb2_alloc_signature(56, 0x214000);
- TEST_SUCC(vb2_unpack_key(&rsa, (uint8_t *)public_key,
- public_key->key_offset + public_key->key_size),
+ TEST_SUCC(vb2_unpack_key(&rsa, public_key),
"vb2_verify_kernel_preamble() prereq key");
struct vb2_kernel_preamble *hdr =
@@ -563,7 +561,7 @@ int test_permutation(int signing_key_algorithm, int data_key_algorithm,
/* Unpack public key */
struct vb2_public_key signing_public_key2;
if (VB2_SUCCESS !=
- vb2_unpack_key(&signing_public_key2,
+ vb2_unpack_key_buffer(&signing_public_key2,
(uint8_t *)signing_public_key,
signing_public_key->key_offset +
signing_public_key->key_size)) {
diff --git a/tests/vb20_kernel_tests.c b/tests/vb20_kernel_tests.c
index 2304b321..2823050e 100644
--- a/tests/vb20_kernel_tests.c
+++ b/tests/vb20_kernel_tests.c
@@ -167,7 +167,7 @@ int vb2ex_read_resource(struct vb2_context *ctx,
return VB2_SUCCESS;
}
-int vb2_unpack_key(struct vb2_public_key *key,
+int vb2_unpack_key_buffer(struct vb2_public_key *key,
const uint8_t *buf,
uint32_t size)
{
diff --git a/tests/vb20_misc_tests.c b/tests/vb20_misc_tests.c
index e3a5123f..2156e919 100644
--- a/tests/vb20_misc_tests.c
+++ b/tests/vb20_misc_tests.c
@@ -146,7 +146,7 @@ int vb2ex_read_resource(struct vb2_context *ctx,
return VB2_SUCCESS;
}
-int vb2_unpack_key(struct vb2_public_key *key,
+int vb2_unpack_key_buffer(struct vb2_public_key *key,
const uint8_t *buf,
uint32_t size)
{
diff --git a/tests/vb20_rsa_padding_tests.c b/tests/vb20_rsa_padding_tests.c
index dbfdc38f..7c1df6a5 100644
--- a/tests/vb20_rsa_padding_tests.c
+++ b/tests/vb20_rsa_padding_tests.c
@@ -114,9 +114,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Couldn't read RSA public key for the test.\n");
return 1;
}
-
- if (VB2_SUCCESS != vb2_unpack_key(&k2, (const uint8_t *)pk,
- pk->key_offset + pk->key_size)) {
+ if (VB2_SUCCESS != vb2_unpack_key(&k2, pk)) {
fprintf(stderr, "Couldn't unpack RSA public key.\n");
free(pk);
return 1;
diff --git a/tests/vboot_api_kernel5_tests.c b/tests/vboot_api_kernel5_tests.c
index 8633f7e7..077c07a4 100644
--- a/tests/vboot_api_kernel5_tests.c
+++ b/tests/vboot_api_kernel5_tests.c
@@ -96,7 +96,7 @@ static void copy_kbh(void)
}
/* Mocks */
-int vb2_unpack_key(struct vb2_public_key *key,
+int vb2_unpack_key_buffer(struct vb2_public_key *key,
const uint8_t *buf,
uint32_t size)
{
diff --git a/tests/vboot_kernel_tests.c b/tests/vboot_kernel_tests.c
index 057e2dd3..21ee895b 100644
--- a/tests/vboot_kernel_tests.c
+++ b/tests/vboot_kernel_tests.c
@@ -243,7 +243,7 @@ void GetCurrentKernelUniqueGuid(GptData *gpt, void *dest)
memcpy(dest, fake_guid, sizeof(fake_guid));
}
-int vb2_unpack_key(struct vb2_public_key *key,
+int vb2_unpack_key_buffer(struct vb2_public_key *key,
const uint8_t *buf,
uint32_t size)
{