diff options
Diffstat (limited to 'host/lib/include/host_keyblock2.h')
-rw-r--r-- | host/lib/include/host_keyblock2.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/host/lib/include/host_keyblock2.h b/host/lib/include/host_keyblock2.h new file mode 100644 index 00000000..5b05ab1f --- /dev/null +++ b/host/lib/include/host_keyblock2.h @@ -0,0 +1,36 @@ +/* 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_ */ |