CCF
Loading...
Searching...
No Matches
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
7
8#include <chrono>
9#include <openssl/x509.h>
10
11namespace ccf::crypto
12{
14 {
15 protected:
17
18 static MDType get_md_type(int mdt);
19
20 public:
21 Verifier_OpenSSL(const std::vector<uint8_t>& c);
25
26 virtual std::vector<uint8_t> cert_der() override;
27 virtual Pem cert_pem() override;
28
29 virtual bool verify_certificate(
30 const std::vector<const Pem*>& trusted_certs,
31 const std::vector<const Pem*>& chain = {},
32 bool ignore_time = false) override;
33
34 virtual bool is_self_signed() const override;
35
36 virtual std::string serial_number() const override;
37
38 virtual std::pair<std::string, std::string> validity_period()
39 const override;
40
41 virtual size_t remaining_seconds(
42 const std::chrono::system_clock::time_point& now) const override;
43
44 virtual double remaining_percentage(
45 const std::chrono::system_clock::time_point& now) const override;
46
47 virtual std::string subject() const override;
48 };
49}
Definition pem.h:18
Definition verifier.h:14
virtual std::pair< std::string, std::string > validity_period() const override
Definition verifier.cpp:185
virtual Pem cert_pem() override
Definition verifier.cpp:92
virtual size_t remaining_seconds(const std::chrono::system_clock::time_point &now) const override
Definition verifier.cpp:202
static MDType get_md_type(int mdt)
Definition verifier.cpp:21
Verifier_OpenSSL(Verifier_OpenSSL &&v)=default
virtual std::string serial_number() const override
Definition verifier.cpp:175
Verifier_OpenSSL(const Verifier_OpenSSL &)=delete
virtual double remaining_percentage(const std::chrono::system_clock::time_point &now) const override
Definition verifier.cpp:212
virtual std::string subject() const override
Definition verifier.cpp:192
OpenSSL::Unique_X509 cert
Definition verifier.h:16
virtual std::vector< uint8_t > cert_der() override
Definition verifier.cpp:80
virtual bool verify_certificate(const std::vector< const Pem * > &trusted_certs, const std::vector< const Pem * > &chain={}, bool ignore_time=false) override
Definition verifier.cpp:102
virtual bool is_self_signed() const override
Definition verifier.cpp:170
Definition verifier.h:15
Definition base64.h:10
MDType
Definition md_type.h:10
Definition openssl_wrappers.h:277