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
7#include <chrono>
8
9namespace ccf::crypto
10{
12 {
13 public:
14 virtual bool verify(
15 const std::span<const uint8_t>& envelope,
16 std::span<uint8_t>& authned_content) const = 0;
17 [[nodiscard]] virtual bool verify_detached(
18 std::span<const uint8_t> envelope,
19 std::span<const uint8_t> payload) const = 0;
20 virtual ~COSEVerifier() = default;
21 };
22
23 using COSEVerifierUniquePtr = std::unique_ptr<COSEVerifier>;
24
26 const std::vector<uint8_t>& cert);
28
30 {
31 std::string from_txid;
32 std::string to_txid;
33 };
35 std::span<const uint8_t> cose_msg);
36}
Definition cose_verifier.h:12
virtual ~COSEVerifier()=default
virtual bool verify(const std::span< const uint8_t > &envelope, std::span< uint8_t > &authned_content) const =0
virtual bool verify_detached(std::span< const uint8_t > envelope, std::span< const uint8_t > payload) const =0
Definition pem.h:18
Definition base64.h:10
std::unique_ptr< COSEVerifier > COSEVerifierUniquePtr
Definition cose_verifier.h:23
COSEVerifierUniquePtr make_cose_verifier_from_key(const Pem &public_key)
Definition cose_verifier.cpp:233
COSEVerifierUniquePtr make_cose_verifier_from_cert(const std::vector< uint8_t > &cert)
Definition cose_verifier.cpp:227
COSEEndorsementValidity extract_cose_endorsement_validity(std::span< const uint8_t > cose_msg)
Definition cose_verifier.cpp:238
Definition cose_verifier.h:30
std::string to_txid
Definition cose_verifier.h:32
std::string from_txid
Definition cose_verifier.h:31