Files
s390-tools/pvattest/src/common.h
Steffen Eiden 3ab06d77fb pvattest: Create, perform, and verify attestation measurements
pvattest is a tool to attest an IBM Secure Execution guest.

In a trusted environment, one can create a request using
`pvattest create`. To get a measurement of an untrusted
IBM Secure Execution guest call 'pvattest perform'.
Again in a trusted environment, call 'pvattest verify'
to verify that the measurement is the expected one.

The tool runs on s390 and x86.
It has the same requirements like libpv and therefore
requires openssl v1.1.1+, glib2.56+, and libcurl.
Additionally, to measure, the linux kernel must provide
the Ultravisor userspace interface `uvdevice` at /dev/uv
and must be executed  on an IBM Secure Execution guest on
hardware with Ultravisor attestation support, like IBM z16 or later.

Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
2022-06-20 13:14:05 +02:00

38 lines
869 B
C

/*
* Common functions for pvattest.
*
* IBM Corp. 2022
*
* s390-tools is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#ifndef PVATTEST_COMMON_H
#define PVATTEST_COMMON_H
/* Must be included before any other header */
#include "config.h"
#include <glib/gi18n-lib.h>
#include <stdio.h>
#include "libpv/glib-helper.h"
#include "libpv/macros.h"
#include "lib/zt_common.h"
#include "types.h"
#define COPYRIGHT_NOTICE "Copyright IBM Corp. 2022"
#define AES_256_GCM_TAG_SIZE 16
gboolean wrapped_g_file_set_content(const char *filename, GBytes *bytes, mode_t mode,
GError **error);
/**
* just ref's up if one of them is NULL.
* If both NULL returns NULL.
* Otherwise returns lh ++ rh
*/
GBytes *secure_gbytes_concat(GBytes *lh, GBytes *rh);
#endif /* PVATTEST_COMMON_H */