CCF
Loading...
Searching...
No Matches
uvm_endorsements.h
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the Apache 2.0 License.
3#pragma once
4
5#include "ccf/crypto/base64.h"
6#include "ccf/ds/json.h"
11#include "node/cose_common.h"
12
13#include <didx509cpp/didx509cpp.h>
14#include <nlohmann/json.hpp>
15#include <span>
16
17namespace ccf
18{
20 {
21 int64_t alg;
22 std::string content_type;
23 std::vector<std::vector<uint8_t>> x5_chain;
24 std::string iss;
25 std::string feed;
26 };
27
28 // Roots of trust for UVM endorsements/measurement in AMD SEV-SNP attestations
29 static std::vector<pal::UVMEndorsements> default_uvm_roots_of_trust = {
30 {"did:x509:0:sha256:I__iuL25oXEVFdTP_aBLx_eT1RPHbCQ_ECBQfYZpt9s::eku:1.3.6."
31 "1.4.1.311.76.59.1.2",
32 "ContainerPlat-AMD-UVM",
33 "104"},
34 {"did:x509:0:sha256:I__iuL25oXEVFdTP_aBLx_eT1RPHbCQ_ECBQfYZpt9s::eku:1.3.6."
35 "1.4.1.311.76.59.1.2",
36 "ContainerPlat-AMD-UVM",
37 "100"},
38 {"did:x509:0:sha256:I__iuL25oXEVFdTP_aBLx_eT1RPHbCQ_ECBQfYZpt9s::eku:1.3.6."
39 "1.4.1.311.76.59.1.5",
40 "ConfAKS-AMD-UVM",
41 "1"}};
42
44 const std::vector<uint8_t>& uvm_endorsements_raw,
45 const pal::PlatformAttestationMeasurement& uvm_measurement,
46 const std::vector<pal::UVMEndorsements>& uvm_roots_of_trust);
47
49 const pal::UVMEndorsements& endorsements,
50 const std::vector<pal::UVMEndorsements>& uvm_roots_of_trust);
51}
Definition app_interface.h:14
pal::UVMEndorsements verify_uvm_endorsements_against_roots_of_trust(const std::vector< uint8_t > &uvm_endorsements_raw, const pal::PlatformAttestationMeasurement &uvm_measurement, const std::vector< pal::UVMEndorsements > &uvm_roots_of_trust)
Definition uvm_endorsements.cpp:660
bool matches_uvm_roots_of_trust(const pal::UVMEndorsements &endorsements, const std::vector< pal::UVMEndorsements > &uvm_roots_of_trust)
Definition uvm_endorsements.cpp:15
Definition uvm_endorsements.h:20
std::string feed
Definition uvm_endorsements.h:25
int64_t alg
Definition uvm_endorsements.h:21
std::string iss
Definition uvm_endorsements.h:24
std::vector< std::vector< uint8_t > > x5_chain
Definition uvm_endorsements.h:23
std::string content_type
Definition uvm_endorsements.h:22