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}
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:9
std::unique_ptr< COSEVerifier > COSEVerifierUniquePtr
Definition cose_verifier.h:25
COSEVerifierUniquePtr make_cose_verifier_from_key(const Pem &public_key)
Definition cose_verifier.cpp:222
COSEVerifierUniquePtr make_cose_verifier_from_cert(const std::vector< uint8_t > &cert)
Definition cose_verifier.cpp:216