CCF
Loading...
Searching...
No Matches
cose_verifier.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
6#include "ccf/crypto/pem.h"
9
10#include <chrono>
11
12namespace ccf::crypto
13{
15 {
16 public:
17 virtual bool verify(
18 const std::span<const uint8_t>& buf,
19 std::span<uint8_t>& authned_content) const = 0;
20 virtual bool verify_detached(
21 std::span<const uint8_t> buf, std::span<const uint8_t> payload) const = 0;
22 virtual ~COSEVerifier() = default;
23 };
24
25 using COSEVerifierUniquePtr = std::unique_ptr<COSEVerifier>;
26
28 const std::vector<uint8_t>& cert);
30
32 {
33 std::string from_txid{};
34 std::string to_txid{};
35 };
36 COSEEndorsementValidity extract_cose_endorsement_validity(
37 std::span<const uint8_t> cose_msg);
38}
Definition cose_verifier.h:15
virtual bool verify(const std::span< const uint8_t > &buf, std::span< uint8_t > &authned_content) const =0
virtual bool verify_detached(std::span< const uint8_t > buf, std::span< const uint8_t > payload) const =0
virtual ~COSEVerifier()=default
Definition pem.h:18
Definition base64.h:10
std::unique_ptr< COSEVerifier > COSEVerifierUniquePtr
Definition cose_verifier.h:25
COSEVerifierUniquePtr make_cose_verifier_from_key(const Pem &public_key)
Definition cose_verifier.cpp:227
COSEVerifierUniquePtr make_cose_verifier_from_cert(const std::vector< uint8_t > &cert)
Definition cose_verifier.cpp:221
COSEEndorsementValidity extract_cose_endorsement_validity(std::span< const uint8_t > cose_msg)
Definition cose_verifier.cpp:232
Definition cose_verifier.h:32
std::string to_txid
Definition cose_verifier.h:34
std::string from_txid
Definition cose_verifier.h:33