Files
OpenCellular/host/lib/include/host_keyblock2.h
Randall Spangler 9328bbff52 vboot2: Add host lib function to create a vb2-style keyblock
Also add vb2_common_desc() helper function to return the description
for an object starting with a common struct header.

And use the new host lib function to create the keyblock for verifying
the firmware lib.

Add tests for everything new.

BUG=chromium:423882
BRANCH=none
TEST=VBOOT2=1 make runtests

Change-Id: I1fadb3e249e771a692cc69b23620c6ddd46a48ac
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/231721
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
2014-12-01 20:30:46 +00:00

37 lines
1.2 KiB
C

/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
* Host-side functions for verified boot key structures
*/
#ifndef VBOOT_REFERENCE_HOST_KEYBLOCK2_H_
#define VBOOT_REFERENCE_HOST_KEYBLOCK2_H_
#include "2struct.h"
struct vb2_private_key;
struct vb2_public_key;
/**
* Create and sign a keyblock.
*
* @param kb_ptr On success, points to a newly allocated keyblock buffer.
* Caller is responsible for calling free() on this.
* @param data_key Data key to contain inside keyblock.
* @param signing_keys List of keys to sign the keyblock with.
* @param signing_key_count Number of keys in signing_keys.
* @param flags Flags for keyblock.
* @param desc Description for keyblock. If NULL, description will be
* taken from the data key.
* @return VB2_SUCCESS, or non-zero error code if failure.
*/
int vb2_keyblock_create(struct vb2_keyblock2 **kb_ptr,
const struct vb2_public_key *data_key,
const struct vb2_private_key **signing_keys,
uint32_t signing_key_count,
uint32_t flags,
const char *desc);
#endif /* VBOOT_REFERENCE_HOST_KEYBLOCK2_H_ */